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

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

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

Похожие темы