![]() |
Spezielles Attribut aus Unterklasse durch Sammlung in Liste
Hiho,
ich habe noch eine Frage zu objektorientierter Programmierung :roll: Also, wenn ich Objektreferenzen versch. Klassen, also lediglich die Zeiger, in einer Liste ablege und später mit einer Schleife alle Einträge durchgehe, möchte ich auf spezielle Attribute einer Unterklasse zugreifen. Also die Oberklasse fasst alle Gemeinsamkeiten zusammen, in der Unterklasse PKW ist zum Beispiel ein Bild oder so... Mit Aufruf von
Delphi-Quellcode:
kann ich Attribute der Oberklasse ansteuern.
TKraftfahrzeuge ( Liste.Items[i] ).blabla
Mit der Überprüfung der "Klassenangehörigkeit"
Delphi-Quellcode:
kann ich auch direkt die Eigenschaften des PKW erreichen.
Obj := TKraftfahrzeuge (Liste.Items[i]);
if (Obj as TPKW) then TPKW(Obj).bla Ist das ein zulässiger Befehl?? mfg devnull |
Re: Spezielles Attribut aus Unterklasse durch Sammlung in Li
Delphi-Quellcode:
Obj := Liste.Items[i] as TKraftfahrzeuge;
if (Obj is TPKW) then (Obj as TPKW).bla |
Re: Spezielles Attribut aus Unterklasse durch Sammlung in Li
Hallo devnull,
Zitat:
![]()
Delphi-Quellcode:
In deinem Fall macht das aber wenig Sinn, da du ja auf TKraftfahrzeuge castest, und somit die Pruefung auf TPKW fehlschlaegt (IMO). Greife einfach direkt drauf zu, und es muesste funktionieren ;)
if (Obj is TPKW) then
TPKW(Obj).DoSomething(); Greetz alcaeus |
Re: Spezielles Attribut aus Unterklasse durch Sammlung in Li
Oh äh ja, war ein Schreibfehler. Sollte natürlich ein "is" sein... :oops:
Danke nochmals |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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