如何在matlab中调用get方法?

问题描述 投票:0回答:1
classdef Untitled
enumeration
    M('monday','first day')
    T('tuesday','second day')
end

properties(SetAccess=private)
    name
    description
end

methods
    %constructor
    function obj = Untitled(name, description)
        obj.name = name
        obj.description = description
    end

    %getter
    function name = get.name(obj)
    end

    %getter
    function description = get.description(obj)
    end



end

end

在创建Untitled实例后,如何在命令窗口中调用get方法?我是matlab的新手,不确定是否可能,因为我读到getter和setter不能直接调用?

matlab oop enums getter-setter getter
1个回答
0
投票

您提供的代码存在一些问题。首先,枚举类是Matlab中一种特殊类型的类。您可能想要在Matlab中了解更多关于enumeration classes的信息,以及关于restrictions的更多信息。

如果我假设你没有尝试创建一个枚举类,并删除你的那部分函数,​​那么下一个问题是你的getter什么都不做。你应该至少做:

function name = get.name(obj)
    name = obj.name
end

但是,如果你要做的就是返回属性的值,你甚至不需要创建一个get函数。这里有一些有效的代码:

classdef Untitled

    properties(SetAccess=private)
        name
        description
    end

    methods
        %constructor
        function obj = Untitled(name, description)
            obj.name = name;
            obj.description = description;
        end

    end

end

然后你可以这样做:

myobj = Untitled('myname','mydesc');
myobj.name
myobj.description
© www.soinside.com 2019 - 2024. All rights reserved.