类只从一个父类那里继承属性并给自己添加新属性时,使用简单继承。继承意味着属于子类的对象具有与父类相同的字段,以及其他字段。所以,父类的方法可以操作属于子类的对象。但是子类的方法不能操作属于父类的对象。不能直接从子类获取父类的字段,必须使用为父类定义的访问方法来进行访问。
创建简单继承关系的一般语法格式为:
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类的对象。
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)