Einzelnen Beitrag anzeigen

bepe

Registriert seit: 17. Okt 2006
118 Beiträge
 
#2

AW: Virtuelle Methode überladen

  Alt 4. Aug 2014, 07:37
Überladen wird innerhalb einer Klasse:

Delphi-Quellcode:
  TClass1 = class
   public
     procedure DoSomething; virtual; overload
     procedure DoSomething(AText : String); overload;
   end;
Möchtest du die Signatur in einer erbenden Klasse ändern musst du reintroduce benutzen:

Delphi-Quellcode:
  TClass1 = class
   public
     procedure DoSomething; virtual;
   end;

   TClass2 = class(TClass1)
   public
     procedure DoSomething(AText : String); reintroduce; // hier wird die Signatur nur geändert aber keine zweite Variante eingeführt
     procedure DoSomething(AText : String); reintroduce; overload // Hier wird eine zweite Variante definiert; entspricht overload innerhalb einer Klasse
   end;

mfg,
bp
  Mit Zitat antworten Zitat