Ver Mensaje Individual
  #16  
Antiguo 17-12-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola aguml.

La ventaja de usar una variable de clase abstracta es que dicha variable/parámetro puede recibir cualquier clase derivada de la anterior.

Por ejemplo,
Código PHP:
void foo(TStream *Stream) {...} 
permite enviar cualquier clase derivada de TStream:
Código PHP:
{
  
TMemoryStream *ms;
  
TFileStream *fs;
  
TStringStream *ss;

  
foo(ms);
  
foo(fs);
  
foo(ss);
... 
Logicamente que se dispondrá como máximo, de los miembros y funciones miembros, declarados en la clase base.

En ejemplo anterior concretamente, no reporta beneficio ni perjuicio alguno. Pero, en el caso de haber necesitado del uso de la función miembro Sort(), hubiera usado:
Código PHP:
  TStrignList *sl
ya que al estar implementada en esta última, del otro modo no la habría tenido a mi disposición.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita