我在 Matlab的语言中使用 OOP 概念,我有一个包含不同情况的类,如何使用类和对象使它们高效,这样可以用简单的 Matlab的代码调用类的对象。如果调用类,则可以访问对象或简单变量。 如何减少案例,对象只能输入一个数字来分配字符串?
我的代码:
classdef myClass
properties
Obj1; %..... other objects
choice;
end
properties (Access=private)
num
end
methods
function obj = myClass(num)
obj.num = num;
end
function Choice(obj)
switch choice
case 1
obj.Obj1 = 'Obj1';
case 2
obj.Obj1 = 'Obj1';
obj.Obj2 = 'Obj2';
case 3
obj.Obj1 = 'Obj1';
obj.Obj2 = 'Obj2';
obj.Obj3 = 'Obj3';
%similarly 100 cases
end
end
methods (Static)
function myStaticMethod
disp(obj1); %.... other objects
return; %objects return
end
end
end
答案 0 :(得分:0)
您可以为每个对象使用对象数组而不是单独的属性。然后,您可以使用数组索引向该属性添加/删除对象:
properties
Objects = []
end
您可以访问该属性并将其编入索引:
obj.Objects(k) = ...
您可以使用for循环显示:
for k = 1:length(obj.Objects)
disp(obj.Objects(k))
end