2013-03-27 20 views
0

我在寫一個倍增類,它乘以它的兩個參數。如果沒有給出參數,則給出默認值1。 現在當我更新一個變量時,我沒有得到確切的產品。我的代碼如下:如何在MATLAB中的類中更改一個變量時更新所有變量?

classdef Multiplier 
    properties (SetAccess = public, GetAccess = public) 
     first; 
     second; 

    end 

    properties(SetAccess = immutable, GetAccess = public) 
     product; 

    end 



    methods 

     function obj = Multiplier(varargin) 

      if nargin == 0 
       obj.first = 1; 
       obj.second = 1; 



      end 
      if nargin == 1 
       obj.first = varargin{1}; 
       obj.second = 1; 

      end 
      if nargin > 1 
       obj.first = varargin{1}; 
       obj.second = varargin{2}; 

      end 

      obj.product = obj.first * obj.second; 

     end 
    end 

    end 


k = Multiplier 
k.first = 5 
k.product -> This should return 5 

回答

2

你應該讓你的product財產Dependent。例如,請參閱this post