2011-09-16 7 views
5

基本クラスには関数fがあります。 派生クラスは関数fを上書きします。 派生クラスのオブジェクトに対して、基本クラス 'fを呼び出す必要があります。これどうやってするの?MATLABの基底関数を呼び出すためのクラスを強制しますか?

ここにコードサンプルがあります。

classdef base 

     methods (Access = public) 
      function this = f(this) 
       disp('at base::f'); 
      end 

     end 
    end 

    classdef derived < base 

     methods (Access = public) 
      function this = f(this) 
       % HERE I WANT TO CALL base::f 
       [email protected](); % this is an error 

       disp('at derived::f'); 
      end 

     end 
    end 

d = derived(); 
d.f(); 
% here the result should be 
% at base::f 
% at derived::f 

答えて

8

代わりの

[email protected](); 

それは

[email protected](this) 
+0

@Vahagnです:そのステートメントをfの@ベースへの呼び出し後に実行されますので、それは、派生:: F'で 'DISPます。しかし、私は無限ループを理解していません。 – Jonas

+2

@Vahagn:ドキュメントのリンクは次のとおりです。http://www.mathworks.com/help/techdoc/matlab_oop/bsa1q42.html – Jonas

関連する問題