簡體   English   中英

如何在Matlab中調用get方法?

[英]How do I call get method in matlab?

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

創建無標題實例后,如何在命令窗口中調用get方法? 我是Matlab的新手,不確定是否有可能,因為我讀到不能直接調用getter和setter嗎?

您提供的代碼有兩個問題。 首先,枚舉類是Matlab中的一種特殊類型的類。 您可能需要閱讀有關Matlab中一般的枚舉類及其限制的更多信息

如果我假設您不是要創建枚舉類,而是刪除函數的那一部分,那么下一個問題是您的吸氣劑什么也不做。 您至少應該這樣做:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM