Чтобы определить класс, который является подклассом другого класса, добавьте суперкласс к classdef строка после < символ:
classdef ClassName < SuperClass
При наследовании от нескольких классов используйте & символ для обозначения комбинации суперклассов:
classdef ClassName < SuperClass1 & SuperClass2
Дополнительные сведения о получении данных из нескольких суперклассов см. в разделе Совместимость членов класса.
Подклассы не наследуют атрибуты суперкласса.
Предположим, что требуется определить класс, производный от double и ограничивает значения положительными числами. PositiveDouble класс:
Поддерживает конструктор по умолчанию (без входных аргументов). См. требование к конструктору входных аргументов
Ограничивает входные значения положительными значениями с помощью mustBePositive.
Вызывает конструктор суперкласса с входным значением для создания двойного числового значения.
classdef PositiveDouble < double methods function obj = PositiveDouble(data) if nargin == 0 data = 1; else mustBePositive(data) end obj = obj@double(data); end end end
Создание объекта PositiveDouble класс, использующий массив чисел 1 на 5:
a = PositiveDouble(1:5);
Можно выполнять операции с объектами этого класса, как с любым двойником.
sum(a)
ans =
15Объекты PositiveDouble класс должен быть положительным значением.
a = PositiveDouble(0:5);
Error using mustBePositive (line 19)
Value must be positive.
Error in PositiveDouble (line 7)
mustBePositive(data)