Main Content

子类语法

子类定义语法

要定义作为另一个类的子类的类,请将超类添加到 classdef 行中的 < 字符后:

classdef ClassName < SuperClass

从多个类继承时,使用 & 字符来指示超类的组合:

classdef ClassName < SuperClass1 & SuperClass2

有关从多个超类派生的详细信息,请参阅Class Member Compatibility

类属性

子类不继承超类属性。

子类化 double

假设您要定义从 double 派生的类,并将值限制为正数。PositiveDouble 类:

classdef PositiveDouble < double
   methods
      function obj = PositiveDouble(data)
         if nargin == 0
            data = 1;
         else
            mustBePositive(data)
         end
         obj = obj@double(data);
      end
   end
end

使用 1×5 数值数组创建 PositiveDouble 类的对象:

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)

相关主题