Delphi-Quellcode:
type TBase = class
protected
procedure Paint; virtual; abstract;
public
procedure DoSomething;
end;
Delphi-Quellcode:
type
Descendant1 = class(Base)
protected
procedure Paint; override;
end;
Descendant2 = class(Base)
protected
procedure Paint; override;
end;
Wenn du in einer Mehtode in Base nun Paint aufrufst wird die Implementierung der Ableitung benutzt.
Zur Frage nach der Polymorphy:
Delphi-Quellcode:
var
Instance1, Instance2 :Base;
begin
Instance1 := Descendant1.Create();
Instance2 := Descendant2.Create();
Instance1 & Instance2 lassen sich somit auf die Methoden von Base zusammenfassen und gleich behandeln, sie zeichnen sich aber unterschiedlich.