Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Overload und Override für Constructor (https://www.delphipraxis.net/52667-overload-und-override-fuer-constructor.html)

BlackJack 1. Sep 2005 16:04

Re: Overload und Override für Constructor
 
Zitat:

Zitat von SirThornberry
NEIN! override ist etwas anderes als reintroduce. Mit override wird der originale Constructor überschrieben und mit reintroduce würde man nur die Warnung unterdrücken das der neue Konstructor den alten verdeckt.

oh, das wusste ich so nicht, da hat mir wohl irgendjemand mal mist erzählt.
also gibt es keine möglichkeit, eine virtuelle procedure zu overriden und deren parameterliste zu ändern (jetzt allgemein auf methoden und nicht nur auf constructoren bezogen)?

Chewie 1. Sep 2005 16:17

Re: Overload und Override für Constructor
 
Zitat:

Zitat von tommie-lie
Ich nur selten und eine solche Notwendigkeit ist mir dabei nicht aufgefallen. Ich habe mir die Metaklassen immer als Typ in Variablengewand vorgestellt. Die "Variable" bc in deinem Beispiel wäre demnach selbst nur ein Typ. Diese Vorstellung hat bisher immer gut mit meinen Beobachtungen übereingestimmt, weswegen ich mir nie die Mühe gemacht habe, des genaue Innenleben auseinanderzunehmen.

Ich auch nicht ;)
Aber ich verwende die gleiche Analogie wie du, und da schauts so aus, dass ich eine Variable eines Basistyps habe, welcher aber eine Referenz auf eine Spezialisierung dieses Basistyps darstellt. Und damit ein Methodenaufruf nun auf den realen Typ und nicht auf den statischen geht, muss diese virtuell sein.
In diesem Kontext ist der Konstruktor eine ganz normale Methode, und damit der Konstruktur der tatsächlichen KLasse und nicht der zur Laufzeit bekannten (TBlubbClass) aufgerufen werden soll, muss dieser virtuell sein. Soweit mein Gedanke.

tommie-lie 1. Sep 2005 16:26

Re: Overload und Override für Constructor
 
Zitat:

Zitat von Chewie
da schauts so aus, dass ich eine Variable eines Basistyps habe, welcher aber eine Referenz auf eine Spezialisierung dieses Basistyps darstellt. Und damit ein Methodenaufruf nun auf den realen Typ und nicht auf den statischen geht, muss diese virtuell sein.

Da ist was dran. Müsste man glatt mal ausprobieren...

Robert_G 1. Sep 2005 16:42

Re: Overload und Override für Constructor
 
Zitat:

Zitat von tommie-lie
Da ist was dran. Müsste man glatt mal ausprobieren...

Ich kann mich da vage an eine ICQ Konversation mit jemanden erinnern, der seine Id3Tags zu .Net bringen wollte.
Gegen Ende kristallierten sich MetaClasses, die sich für gewisse Tags "verantwortlich" fühlen, als nette Möglichkeit heraus.
und wie gates deinen .Net Id3Tags? :zwinker:

tommie-lie 1. Sep 2005 17:03

Re: Overload und Override für Constructor
 
Zitat:

Zitat von Robert_G
Ich kann mich da vage an eine ICQ Konversation mit jemanden erinnern, der seine Id3Tags zu .Net bringen wollte.
Gegen Ende kristallierten sich MetaClasses, die sich für gewisse Tags "verantwortlich" fühlen, als nette Möglichkeit heraus.
und wie gates deinen .Net Id3Tags? :zwinker:

Ich habe dir damals schon gesagt daß ich nicht viel davon weiß ;-)
Außerdem ging es dort ja um Chrome und nicht um Delphi. Ich kann mir gut vorstellen, daß wenn Delphi dort irgendwelche Einschränkungen hat, diese Einschränkungen in Chrome nicht vorhanden sind :zwinker:

Den .NET-Tags geht es augenblicklich schlecht, ich arbeite an was anderem und mir fehlte bisher die Zeit, daran zu arbeiten.

Edit: Außerdem sitze ich augenlicklich lieber an C++, weil es mir einfach noch flexibler scheint als C#1.1 ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 Uhr.
Seite 3 von 3     123   

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