On Tue, May 18, 2004 at 08:41:17AM +0200, Marc Santhoff wrote:
> Am Mo, den 17.05.2004 schrieb Oliver Fromme um 19:43:
> > Wenn Du etwa eine Funktion hast, die einen Schieberegler
> > anzeigt, könnte man sie so programmieren, daß man ihr ein
> > beliebiges Objekt übergeben kann, das die Methoden set-
> > value() und getvalue() hat. Dann kann man diesen Schiebe-
> > regler sofort für beliebige solche Objekte verwenden.
> > (Dies ist etwas völlig anderes als Templates in C++!)
> > Die Schieberegler-Funktion kann auch selbständig (zur Lauf-
> > zeit) überprüfen, ob das Objekt, das ihr gerade übergeben
> > wurde, das richtige Protokoll unterstützt (d.h. setvalue()
> > und getvalue() hat). Wenn nicht, könnte sie eine Alterna-
> > tive versuchen, oder eine Warnung ausgeben, oder eine
> > Exception erzeugen oder sonstwas.
>
> Und wie verhält es sich mit der Laufzeit? Da müßte schon ein
> grundsätzlich anderer Ansatz verfolgt werden, damit nicht wie in Java
> z.B. der Laufzeitzuwachs unangenehm deutlich spürbar wird.
>
> Andererseits, in Object-Pascal (aka Delphi, Version 1 und 2) gab es
> diese Möglichkeit bereits und ich habe sie fröhlich benutzt. Aber ein
> Zuckerschlecken war das natürlich noch nicht, RTTI steckte eben in den
> Kinderschuhen.
Keine Ahnung wie das mit Pascal aussieht.
Unter C++ kannst du einfach einen speziellen cast machen und dieser
kümmert sich dann per RTTI um die Typenprüfung und bei Bedarf um die
Konvertierung zu Laufzeit.
-- B.Walter BWCT http://www.bwct.de bernd(at)bwct.de info(at)bwct.de To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Tue 18 May 2004 - 13:16:24 CEST