Hola,
Hasta ahora había realizado mis programas en base a los componentes que se dispone en las petañas de Delphi. Ahora voy profundizando un poco en la creación de Clases. Voy estudiando ejemplos de "La Cara Oculta de Delphi" y "Ejemplos de Fontela" como novato me llegan un montón de dudas. En el Foro he buscado y he encontrado muchos ejemplos pero ninguno como la siguiente pregunta:
Código Delphi
[-]
type
TVentana = class
private
Ancho, Altura: TCoordenadaPantalla;
ColorFondo : TColor;
public
constructor Create (An, Al: TCoordenadaPantalla; CF : TColor);
procedure Dibujar; virtual;
end;
type
TVentanaConTexto = class(TVentana)
private
ColorTexto: TColor;
Texto: PChar;
public
constructor Create (An, Al: TCoordenadaPantalla; CF, CT : TColor);
procedure Dibujar; override;
end;
type
TVentanaConGráfico = class(TVentana)
private
Grafico : PGrafico;
public
constructor Create (An, Al: TCoordenadaPantalla; CF: TColor; G: PGrafico);
procedure Dibujar; override;
end;
Este es un ejemplo que saqué de Fontela (lo he reducido). Lo que no entiendo es lo siguiente:
- ¿Pueden los constructor Create override declararse de esa forma? es decir si se fijan en las clases hijas se aumenta una que otra cosa (VARÍAN los Parámetros).
- ¿Cual sería la implementación para el caso de ser afirmativo mi anterior pregunta?
- La misma pregunta para el caso del procedure Dibujar, ahí creo que no hay problema con los parámetros (no tiene), pero ¿que tal
si tuvieran diferentes parámetros las clases hija, no habría problema en el polimorfismo para el caso del procedure Dibujar?
Bueno, me está faltando encontrar en la Red EJEMPLOS SENCILLOS pero COMPLETOS de Polimorfismo y Herencia, para comprender.