我有几个使用基本相同的set
方法的属性:
classdef MyClass
properties
A
B
end
methods
function mc = MyClass(a,b) % Constructor
mc.A = a;
mc.B = b;
end
function mc = set.A(mc, a) % setter for A
if a > 5
mc.A = a;
else
error('A should be larger than 5');
end
end
function mc = set.B(mc, b) %setter for B
if b > 5
mc.B = b;
else
error('B should be larger than 5');
end
end
end
end
对于变量set
和A
,是否只能使用一个B
函数? (请注意,error
函数将属性名称用作字符串。)
建议只使用一个set
功能吗?使用一个set
函数有什么可能的缺点?
答案 0 :(得分:1)
唯一真正的方法是将公共代码提取到另一个函数,并从setter中调用它:
struct