AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Überschriebene Methode in Kindklasse überladen
Thema durchsuchen
Ansicht
Themen-Optionen

Überschriebene Methode in Kindklasse überladen

Ein Thema von mirage228 · begonnen am 16. Apr 2004 · letzter Beitrag vom 19. Apr 2004
Antwort Antwort
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Überschriebene Methode in Kindklasse überladen

  Alt 16. Apr 2004, 18:11
Hallo,

ich hab folgendes Konstrukt (andere Klassen/Methodennamen, aber selbe Situation)

Delphi-Quellcode:
type
  TBasisKlasse = class(TObject)
  private
  public
    procedure DoSomething(A: Integer); virtual;
end;
Nun wollte ich in der Kindklasse folgendes machen
Delphi-Quellcode:
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;
Es geht mir dabei um die Warnung:
Code:
 [Warnung] uAppDocumentClasses.pas(281): Methode 'DoSomehting' verbirgt virtuelle Methode vom Basistyp 'TBasisKlasse'
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?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Überschriebene Methode in Kindklasse überladen

  Alt 16. Apr 2004, 18:19
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;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Überschriebene Methode in Kindklasse überladen

  Alt 16. Apr 2004, 18:22
Zitat von Bernhard Geyer:
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;
Hi,

Danke für deinen Vorschlag.
Aber leider funktioniert es so nicht, denn die Warnung ist immer noch da :-\

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Tryer

Registriert seit: 16. Aug 2003
200 Beiträge
 
#4

Re: Überschriebene Methode in Kindklasse überladen

  Alt 16. Apr 2004, 21:26
Delphi-Quellcode:
type
  TBasisKlasse = class(TObject)
  public
    procedure DoSomething(A: Integer); overload; virtual;
end;
Wenn Du die Methode bereits in der Basisklasse als overload deklarierst bleibt die Warnung aus.

MfG,
Tryer
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Überschriebene Methode in Kindklasse überladen

  Alt 19. Apr 2004, 14:12
Zitat von Tryer:
Delphi-Quellcode:
type
  TBasisKlasse = class(TObject)
  public
    procedure DoSomething(A: Integer); overload; virtual;
end;
Wenn Du die Methode bereits in der Basisklasse als overload deklarierst bleibt die Warnung aus.

MfG,
Tryer
Hi,

vielen Dank, es klappt.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz