Clases: base y this

Imaginemos la clase Cliente que tiene como clase base Persona, e imaginamos un método Visualización que se hereda de Persona y queremos adaptarlo a la nueva clase Cliente.

El nuevo código del método podría ser algo así como:

Al intentar utilizarlo con el siguiente código:

Se produce un error de desbordamiento ya que lo pretendía ser una llamada al método Visualización de la clase base (Persona) es en realidad una llamada RECURSIVA al propio método Visualización de la clase Cliente. C# busca el primer método «Visualización» que encuentra y ese es el de la propia clase.

Para solucionar este problema: «base«.

También podemos utilizar «base» para crear un constructor a partir del constructor de la clase base (Persona).

si ejecutamos el siguiente código:

… nos mostrará como código de cliente un «0».  Esto es porque un parámetro del constructor lleva el mismo nombre que un campo de la clase. para solucionare ésto utilizamos «this» e indicar que la asignación se hace a la variable miembro de la clase.