AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

virtual / override ??

Ein Thema von Hansa · begonnen am 19. Aug 2004 · letzter Beitrag vom 21. Aug 2004
 
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: virtual / override ??

  Alt 20. Aug 2004, 09:46
Zitat von Hansa:
Nun mal schön langsam. gaaaanz langsam. 8) Ich deklariere eine Methode also als "virtual". Insofern will ich sie vererben. Im Falle von "override" scheint es so zu sein, daß sie ersatzlos gestrichen wird und durch einen neuen Inhalt ersetzt wird.
Wenn du eine virtuelle Methode als "override" deklarierst, ersetzt diese bei der aktuellen Klasse die Methode mit dem Namen, das ist richtig. Aber: über "inherited" hast du noch die Möglichkeit, die Methode der Vorgängerklasse aufzurufen. Die Möglichkeit hast du bei "reintroduce" bzw. wenn du gar nichts angibst nicht.

Zitat von Hansa:
Was nun, wenn ich in der Basisklasse schreibe i := 1; und dann noch ein paar Initialisierungen vornehme. In einer abgeleiteten Klasse soll alles bleiben, wie es ist, nur i := 2; soll gemacht werden. In diesem Fall nützt es wenig, alles andere ersatzlos zu streichen.

Was ist dann zu tun ?
Ich nehm mal an, i sei ein Objektfeld oder eine globale Variable: Dann rufst du zuerst die Funktionen der übergeordneten Klassen auf (per inherited). Hier wird alles initialisiert und i auf 1 gesetzt. Nun setzt du noch i auf 2, und fertig.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
 


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 12: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-2025 by Thomas Breitkreuz