Определение класса MATLAB ® - это шаблон, целью которого является предоставление описания всех элементов, общих для всех экземпляров класса. Члены класса - это свойства, методы и события, определяющие класс.
Определите классы MATLAB в кодовых блоках с подблоками, определяющими различные элементы класса. Сведения о синтаксисе этих блоков см. в разделе Компоненты класса.
Атрибуты изменяют поведение классов и членов, определенных в блоке определения класса. Например, можно указать, что методы являются статическими или что свойства являются частными. Следующие разделы описывают эти атрибуты.
Определения классов могут предоставлять информацию, такую как отношения наследования или имена членов класса без фактического построения класса. См. раздел Метаданные класса.
Дополнительные сведения о синтаксисе атрибутов см. в разделе Указание атрибутов.
Существует два вида классов MATLAB - классы дескрипторов и классы значений.
Классы значений представляют независимые значения. Объекты значений содержат данные объекта и не используют эти данные совместно с копиями объекта. Числовые типы MATLAB являются классами значений. Объекты значений, передаваемые и изменяемые функциями, должны возвращать изменяемый объект вызывающему абоненту.
Классы дескрипторов создают объекты, ссылающиеся на данные объекта. Копии переменной экземпляра ссылаются на один и тот же объект. Обработка объектов, переданных и измененных функциями, влияет на объект в рабочей области вызывающего абонента без возврата объекта.
Дополнительные сведения см. в разделе Сравнение классов дескрипторов и значений.
Сведения о конструкторах классов см. в разделе Методы конструкторов классов.
Сведения о создании массивов объектов см. в разделе Создание массивов объектов.
Дополнительные сведения об определении иерархий классов см. в разделе Иерархии классов - концепции.
Определения классов - это блоки кода, которые определяются classdef ключевое слово в начале и end ключевое слово в конце. Файлы могут содержать только одно определение класса.
На следующей диаграмме показан синтаксис classdef блок. Только комментарии и пустые строки могут предшествовать classdef ключевое слово.

Здесь представлено простое определение класса с одним свойством и методом конструктора, который задает значение свойства при наличии входного аргумента.
classdef MyClass properties Prop end methods function obj = MyClass(val) if nargin > 0 obj.Prop = val; end end end end
Создание объекта из MyClass, сохранить определение класса в .m файл, имеющий то же имя, что и класс, и вызовите конструктор с любыми необходимыми аргументами:
d = datestr(now); o = MyClass(d);
Используйте точечную нотацию для доступа к значению свойства:
o.Prop
ans = 10-Nov-2005 10:38:14
Конструктор должен поддерживать синтаксис без аргументов, чтобы MATLAB мог создавать объекты по умолчанию. Дополнительные сведения см. в разделе Требование к конструктору входных аргументов.
Дополнительные сведения о компонентах определения класса см. в разделе Компоненты класса.