Matlab和switch语句中的类

时间:2014-03-23 21:54:51

标签: string matlab class oop switch-statement

我在 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

1 个答案:

答案 0 :(得分:0)

您可以为每个对象使用对象数组而不是单独的属性。然后,您可以使用数组索引向该属性添加/删除对象:

properties
   Objects = []
end

您可以访问该属性并将其编入索引:

obj.Objects(k) = ...

您可以使用for循环显示:

for k = 1:length(obj.Objects)
   disp(obj.Objects(k))
end