exponenta event banner

Синтаксис подкласса

Синтаксис определения подкласса

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

Связанные темы