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