Cita:
Empezado por PeLuCa
Cuando defino un objeto impresora : TImpresora en la app, y al momento del create() le digo impresora := TEpson.Create(), pero cuando en otro necesito hacer uso del metodo imprimir no lo puedo hacer
|
Estas hablando de utilizar uno de los pilares de la programación orientada a objetos: El Polimorfismo.
Lo que tu dices tiene que funcionar, lo usamos todos los programadores con regulariada, y no entiendo porque dices que no puedes llamar al método print, aquí tienes un ejemplo un poco extendido:
Código Delphi
[-]
interface
type
TImpresora = class(TObject)
public
procedure Imprimir; virtual; abstract;
end;
TEpson = class(TImpresora)
public
procedure Imprimir; override;
end;
THasar = class(TImpresora)
public
procedure Imprimir; override;
end;
implementation
procedure THasar.Imprimir;
begin
ShowMessage('THasar.Imprimir');
end;
procedure TEpson.Imprimir;
begin
ShowMessage('TEpson.Imprimir');
end;
procedure Imprimir(AImpresora: TImpresora);
begin
AImpresora.Imprimir;
end;
Saludos!