2011-09-16 9 views
5

La clase base tiene una función f. La clase derivada sobrescribe la función f. Quiero llamar a la clase base 'f para un objeto de la clase derivada. ¿Cómo puedo hacer esto?Fuerza derivada clase para llamar a la función base en MATLAB?

Aquí está el ejemplo de código.

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 

Respuesta

8

En lugar de

[email protected](); 

Es

[email protected](this) 
+0

@Vahagn: Se disp 'en derivados :: F', ya que la declaración es ejecutado después de la llamada a la base de f @. Aunque no entiendo el ciclo infinito. – Jonas

+2

@Vahagn: Aquí está el enlace en la documentación: http://www.mathworks.com/help/techdoc/matlab_oop/bsa1q42.html – Jonas

Cuestiones relacionadas