AGB  ·  Datenschutz  ·  Impressum  







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

D2007 Vererbung Constructor

Ein Thema von hanspeter · begonnen am 27. Jul 2012 · letzter Beitrag vom 28. Jul 2012
 
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.565 Beiträge
 
Delphi 12 Athens
 
#4

AW: D2007 Vererbung Constructor

  Alt 27. Jul 2012, 14:26
Es wird die Methode (Create) verwendet, welche im Basistyp deklariert ist.
Mit Virtual wird dort allerdings ein Eintrag in der VMT der Klasse erstellt.

Und jedesmal, wenn diese Methode nun aufgerufen wird, schaut Delphi in der VMT nach, was "aktuell" dort für eine Methode verlinkt ist.

Aktuell = Der Typ, welcher für die Erstellung der Klasse verwendet wurde, bzw. bei solch einer "class method" (in diesem Fall ein constructor) was in der VMT des Typs deklariert ist, welcher in deiner Variable gespeichert wurde.
Also die Methode welche in diesem Typen als letzes per Override dort eingetragen wurde.


Wäre dein "Parameter" z.B. vom Typ TClass, würde in TObject nachgesehn, dort steht nur ein nichtvirtuelles Create und somit würde direkt das Create des TObject verwendet, selbst wenn es im gespeichertem Typ ein "neueres" Create gäbe.
Ein Therapeut entspricht 1024 Gigapeut.
  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 19:31 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