Чтобы определить класс, который является подклассом другого класса, добавьте суперкласс к 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)