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

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

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

Похожие темы