Разделение на подклассы синтаксиса

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

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

Похожие темы

Была ли эта тема полезной?