![]() |
Überschriebene Methode in Kindklasse überladen
Hallo,
ich hab folgendes Konstrukt (andere Klassen/Methodennamen, aber selbe Situation)
Delphi-Quellcode:
Nun wollte ich in der Kindklasse folgendes machen
type
TBasisKlasse = class(TObject) private public procedure DoSomething(A: Integer); virtual; end;
Delphi-Quellcode:
Es geht mir dabei um die Warnung:
type
TKindKlasse = class(TBasisKlasse) private public procedure DoSomething(A: Integer); overload; override; procedure DoSomething(X: String); overload; // [Warnung] uAppDocumentClasses.pas(281): Methode 'DoSomehting' verbirgt virtuelle Methode vom Basistyp 'TBasisKlasse' end;
Code:
Nun, eigentlich hat der Compiler ja völlig recht, aber wie kann ich dieses Problem nun trotzdem lösen, sodass ich und der Compiler zufrieden sind? Ist mein vorhaben überhaupt mit den "Gesetzen" von OOP / Delphi vereinbar?
[Warnung] uAppDocumentClasses.pas(281): Methode 'DoSomehting' verbirgt virtuelle Methode vom Basistyp 'TBasisKlasse'
mfG mirage228 |
Re: Überschriebene Methode in Kindklasse überladen
Probier mal folgendes (nicht getestet):
Code:
type
TKindKlasse = class(TBasisKlasse) private public procedure DoSomething(A: Integer); overload; override; procedure DoSomething(X: String); overload; virtual; // Diese Signatur ist ja noch nicht als überschreibbar definiert end; |
Re: Überschriebene Methode in Kindklasse überladen
Zitat:
Danke für deinen Vorschlag. Aber leider funktioniert es so nicht, denn die Warnung ist immer noch da :-\ mfG mirage228 |
Re: Überschriebene Methode in Kindklasse überladen
Delphi-Quellcode:
Wenn Du die Methode bereits in der Basisklasse als overload deklarierst bleibt die Warnung aus.
type
TBasisKlasse = class(TObject) public procedure DoSomething(A: Integer); overload; virtual; end; MfG, Tryer |
Re: Überschriebene Methode in Kindklasse überladen
Zitat:
vielen Dank, es klappt. :thuimb: :cheers: mfG mirage228 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz