Чтобы определить класс, который является подклассом другого класса, добавьте суперкласс к classdef линия после < символ:
classdef ClassName < SuperClass
При наследовании от нескольких классов используйте & символ для указания комбинации суперклассов:
classdef ClassName < SuperClass1 & SuperClass2
Для получения дополнительной информации о выводах из нескольких суперклассов см. раздел «Совместимость членов класса».
Подклассы не наследуют атрибуты суперкласса.
Предположим, что вы хотите задать класс, который был выведен из double и ограничивает значения положительными числами. The 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);
Вы можете выполнить операции с объектами этого класса, как любой double.
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)