Treating input arguments (not paying attention to order of number)
4 ビュー (過去 30 日間)
古いコメントを表示
Konrad Warner
2019 年 12 月 13 日
コメント済み: Walter Roberson
2019 年 12 月 14 日
There is a "master class" that instanciates different objects depending on the users choice. A stuct array with a set of parameter should be the indicator if an object is created or not. For every init-function there is one input struct.
First attempt was..
% Constructor
function obj = MasterClass(object1_struct,object2_struct,object3_struct,object4_struct)
if exist('object1_struct','var')
obj.initObj1(object1_struct);
end
if exist('object2_struct','var')
obj.initObj2(object2_struct);
end
if exist('object3_struct','var')
obj.initObj3(object3_struct);
end
if exist('object4_struct','var')
obj.initObj4(object4_struct);
end
end
but of cause, if I call e.g.
obj = MasterClass(object3_struct,object2_struct)
Object1 and Object2 are created with inputs object3_struct and object2_struct. So what's the way to do it, without insert empty structs or pay attention to the order?
0 件のコメント
採用された回答
Walter Roberson
2019 年 12 月 13 日
Use name/value pairs, unless there is something inside of the structs that identifies which kind of object it is for, or some other way of deducing from the struct what its purpose is.
5 件のコメント
Walter Roberson
2019 年 12 月 14 日
Perhaps it would make sense to pass in an array of struct, each member of which identified its purpose?
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Structures についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!