Заметьте, что properties, methods и events являются ключевыми словами только в пределах блока classdef.
More In Depth Information (Более полная информация)
Разделы с информацией о компонентах определения класса:
Defining Classes — Syntax (Определение классов – синтаксис) – синтаксис класса;
Defining Properties (Определение свойств) – спецификация свойств;
Class Methods (Методы классов) – спецификация методов;
Defining Events and Listeners — Syntax and Techniques (Определение событий и слушателей – синтаксис и техника) – использование событий;
Attribute Tables (Таблицы атрибутов) – список всех атрибутов.
ClassDirectories (Директории классов)
Имеются два вида директорий классов:
w Директория (обычная), содержащая файлы определения классов. Имя каждого файла класса должно соответствовать имени определяемого класса и имени его конструктора. Вы должны определить в этом файле класс полностью и можете установить на одной директории несколько файлов полных определений разных классов;
w Директория @class_name (@-директория; вместо class_name должно быть конкретное имя класса), которая располагается внутри обычной директории. Вы можете либо определить на директории @class_name только один файл полного определения класса, либо использовать несколько (для разных элементов одного класса) файлов этого класса.
Смотрите подробности в разделе Methods in Separate Files (Методы в выделенных файлах).
MoreInformationonClassDirectories (Дополнительная информация о директориях классов)
Смотрите раздел Organizing Classes in Directories (Организация классов в директориях) для подробной информации о директориях классов и раздел Scoping Classes with Packages (Ограничение сферы классов пакетами) с информацией об использовании классов из пакетных директорий.
The Classdef Block (Блок сlassdef)
Блок classdef содержит определение класса и его частей. В первой строке (начинается со слова classdef) данного блока вы специфицируете:
w Атрибуты класса;
w Имя класса.
w Суперклассы.
Блок classdef содержит субблоки properties, methods и events.
AssigningClassAttributes (Назначение атрибутов класса)
Атрибуты класса определяют поведение класса. Их список и значения по умолчанию системе MATLAB строго известны. Назначайте величины атрибутов класса, только когда вы хотите изменить их.
Суперклассы и атрибуты, значения которых заданы по умолчанию, не указываются в определении, например:
classdef class_name% Начало блока classdef; имя класса –
% class_name (может быть любым); суперклассы и атрибуты
% класса не указаны (так как здесь они – по умолчанию).
... % Здесь должен быть содержательный код блока classdef.
end% Конец блока classdef.
Одна или более явно модифицируемые (по отношению к значениям по умолчанию) величины атрибутов перечисляются вместе с именами этих атрибутов, например:
classdef (attribute1 = value,...)… % Здесь attribute1 –
% любое регламентированное имя первого атрибута, value –
% новая величина первого атрибута и т.д.
... % Содержательный код блока classdef.
end
Смотрите раздел Class Attributes (Атрибуты класса), содержащий список атрибутов и их влияние на поведение (состояние) класса.
Specifying Superclasses (Спецификация суперклассов)
Определение класса в терминах одного или более других классов (суперклассов) посредством их спецификации в строке classdef имеет вид (пример для одного суперкласса):
classdef class_name < superclass_name % Здесь
% superclass_name – конкретное имя суперкласса, из
% которого выводится подкласс с именем class_name.
... % Содержание блока classdef.
end
Смотрите раздел Creating Subclasses — Syntax and Techniques (Создание подклассов – синтаксис и техника) для более подробной информации.
SpecifyingProperties (Спецификация свойств)
Вы можете контролировать определения свойств следующим образом:
w Спецификацией начального значения для каждого свойства индивидуально;
w Назначением атрибутов спецификации для всего блока свойств;
w Определением методов, которые исполняются, когда характеристики свойства устанавливаются или запрашиваются.
DefininganInitialValue (Определение начальной величины)
В пределах блока свойств вы можете контролировать их индивидуальные начальные величины. Начальные величины могут быть постоянными значениями или MATLAB-выражениями. Выражения не могут ссылаться на переменные. Например:
classdef class_name
properties % Начало блока свойств – пример, когда список и
% значения атрибутов – по умолчанию)
PropertyName % Определение любого имени первого
% свойства (назначения ему начальной величины нет,
% в этом случае они известны по умолчанию).
PropertyName = 'some text'; % Здесь some text –
% значение второго свойства с любым именем
% PropertyName, отличным от предыдущего.
PropertyName = sin(pi/12); % Выражение
% sin(pi/12) не содержит каких-либо переменных и
% вычисляет начальную величину третьего свойства с
% любым уникальным именем PropertyName, отличным
% от двух предыдущих.
end% Конец блока свойств.
end% Конец блока classdef.
Расчет начальных величин производится только один раз, когда класс впервые используется. Значения свойств, которые не специфицированы, по умолчанию являются пустыми множествами - [ ].
PropertyAttributes (Атрибуты свойств)
Все свойства имеют атрибуты, которые задают определенные аспекты поведения (состояния) свойств. Список атрибутов и их значения по умолчанию регламентированы. Атрибуты относятся ко всем свойствам в данном блоке свойств. Например:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.