我试图在MATLAB中完成以下工作:
使用属性a
定义超类
classdef (Abstract) superClass
properties (Abstract = true)
a;
end
end
定义一个子类,该子类继承自超类,并为a
实现一个get函数。
classdef subClass < superClass
methods
function val = get.a(obj)
val = obj.a;
end
end
properties
a;
end
end
我得到的是:
使用subClass错误: File: subClass.mLine:3列: 28不能为类中的属性a指定get函数,因为该属性不是由该类定义的。
根据文档,可以在抽象属性上定义get/set。
发布于 2013-07-24 18:06:02
有趣的是,我简单地在子类中的properties
块之前定义了methods
块(顺序在这里似乎很重要)。
classdef subClass < superClass
properties
a;
end
methods
function val = get.a(obj)
val = obj.a;
end
end
end
我认为这是MATLAB解析器的一个问题,也许您应该提交一个错误报告。
https://stackoverflow.com/questions/17821652
复制相似问题