Thema: Delphi virtual und override

Einzelnen Beitrag anzeigen

Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#1

virtual und override

  Alt 13. Sep 2005, 11:33
Das folgendes funktioniert ist mir klar:
Delphi-Quellcode:
unit Unit3;
interface

type xy = class
  x, y: integer;
  function get_str: string; virtual;
end;

type yz = class(xy)
  function get_str: string; override;
end;

implementation
function xy.get_str: string;
begin result := #32; end;
function yz.get_str: string;
begin result := #33; end;
end.
Aber wiso funktioniert auch folgendes? Bzw. worin liegt da der Unterschied?
Denn hier wird die Funktion get_str ja auch überschrieben, jedoch ohne dass sie vorher per virtual als überschreibbar deklariert wurde.

Delphi-Quellcode:
unit Unit2;
interface

type xy = class
  x, y: integer;
  function get_str: string;
end;

type yz = class(xy)
  function get_str: string;
end;

implementation
function xy.get_str: string;
begin result := #32; end;
function yz.get_str: string;
begin result := #33; end;
end.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat