Constructor doesn`t work at all (Error using implicit default value of property in class)
显示 更早的评论
I tried to initialize class properties but got error
"Error using implicit default value of property in class 'val1'. Value must greater than 0"
first I have made an example class
classdef myclass
properties (access = public)
val1 double {mustBeGreaterThan(val1,0)};
end
properties (access = private)
val2 double {mustBeGreaterThan(val2,0)};
end
methods
function obj = myclass()
%constructor
if nargin<1
obj.val1 = 0.3;
obj.val2 = 0.5;
end
end
end
end
after making class, implement the codes
myclass_instance = myclass()
and it says error
"Error using implicit default value of property 'var1' in class 'myclass'. Value muse be greater than 0
why I got an error message? Is the property constraints are called faster than the constructor?
Then the only solution is to remove constraints?
What a mess language matlab it is!
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Class Introspection and Metadata 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!