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