2013-03-06 33 views

回答

0

您可以使用屬性設置方法,例如。

classdef trajectory 
    properties 
     partName; 
     coordinates;  
    end 

    methods 
     function this=set.partName(this,myStr) 
      mySet={'leftHand','rightHand'} ; 
      if any(strcmp(mySet,myStr)) 
       this.partName=myStr; 
      else 
       error('Value not part of set'); 
      end 
     end  
    end 
    end 
+0

你不需要使財產私人保護它嗎? – Shai 2013-03-06 07:28:19

+0

@Shai沒有必要使set方法專用於更多關於何時調用set方法的信息,[MWhelp](http://www.mathworks.com/help/matlab/matlab_oop/property-access-methods.html ) – Philliproso 2013-03-06 09:08:40

+0

@Philliproso你實際上不能使'set'方法私有。它們只能在沒有屬性的'methods'塊中定義。雖然,正如你所說的,不需要將該屬性設置爲私有的,但您可能希望爲其賦予「leftHand」或「rightHand」的默認值。 – 2013-03-06 15:00:56

相關問題