语法格式

类只从一个父类那里继承属性并给自己添加新属性时,使用简单继承。继承意味着属于子类的对象具有与父类相同的字段,以及其他字段。所以,父类的方法可以操作属于子类的对象。但是子类的方法不能操作属于父类的对象。不能直接从子类获取父类的字段,必须使用为父类定义的访问方法来进行访问。

创建简单继承关系的一般语法格式为:

code.matlab
classdef ClassName < SuperClass

其中,SuperClass为父类名称,ClassName为子类名称。

从多个类继承时,使用“&”连接多个父类的名称:

code.matlab
classdef ClassName < SuperClass1 & SuperClass2

子类不能继承父类的特性。

下面创建一个PositiveDouble类,它继承自double类,要求值必须为正。

code.matlab
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类的对象。

用的数字数组创建一个PositiveDouble类的对象。

code.matlab
a=PositiveDouble(1:5);

求和:

code.matlab
sum(a)
ans=
15

提供的数值必须为正,否则出错:

code.matlab
a=PositiveDouble(0:5);
Error using mustBePositive(line 19)
Value must be positive.
Error in PositiveDouble(line 7)
mustBePositive(data)