我建立了一个 Point2D 类,代码如下: classdef Point2D < handle properties(Access=private) x y end methods function val=get.x(obj) disp('in val=x.get(obj)'); val=obj.x; end function obj=Point2D(cv) obj.x=real(cv); obj.y=imag(cv); end end end 在主程序中新建Point2D类对象, p1=Point2D(1+1j) 执行语句 p1.x,理应进入到 get.x 方法中,但matlab报错: 类 'Point2D' 没有公共属性 'x'。 出错 tmpOOP (line 4) p1.x 若把属性成员的特性 Access=private 删掉,则代码正常运行,但这不是我的本意。 我本希望隐藏属性成员,只通过公开的get 方法成员读取数据。 |
最佳答案
1 条回复