AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Spezielles Attribut aus Unterklasse durch Sammlung in Liste
Thema durchsuchen
Ansicht
Themen-Optionen

Spezielles Attribut aus Unterklasse durch Sammlung in Liste

Ein Thema von devnull · begonnen am 20. Jun 2005 · letzter Beitrag vom 20. Jun 2005
Antwort Antwort
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#1

Spezielles Attribut aus Unterklasse durch Sammlung in Liste

  Alt 20. Jun 2005, 12:02
Hiho,

ich habe noch eine Frage zu objektorientierter Programmierung
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 TKraftfahrzeuge ( Liste.Items[i] ).blabla kann ich Attribute der Oberklasse ansteuern.

Mit der Überprüfung der "Klassenangehörigkeit"
Delphi-Quellcode:
Obj := TKraftfahrzeuge (Liste.Items[i]);
if (Obj as TPKW) then
  TPKW(Obj).bla
kann ich auch direkt die Eigenschaften des PKW erreichen.

Ist das ein zulässiger Befehl??

mfg
devnull
-- Never change a running system --
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Spezielles Attribut aus Unterklasse durch Sammlung in Li

  Alt 20. Jun 2005, 12:05
Delphi-Quellcode:
Obj := Liste.Items[i] as TKraftfahrzeuge;
if (Obj is TPKW) then
  (Obj as TPKW).bla
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Spezielles Attribut aus Unterklasse durch Sammlung in Li

  Alt 20. Jun 2005, 12:06
Hallo devnull,

Zitat von devnull:
Delphi-Quellcode:
Obj := TKraftfahrzeuge (Liste.Items[i]);
if (Obj as TPKW) then
  TPKW(Obj).bla
fast richtig. Du musst den Delphi-Referenz durchsuchenis-Operator verwenden, um eine Klasse zu pruefen:

Delphi-Quellcode:
if (Obj is TPKW) then
  TPKW(Obj).DoSomething();
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

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von devnull
devnull

Registriert seit: 5. Okt 2003
362 Beiträge
 
Delphi 7 Personal
 
#4

Re: Spezielles Attribut aus Unterklasse durch Sammlung in Li

  Alt 20. Jun 2005, 12:12
Oh äh ja, war ein Schreibfehler. Sollte natürlich ein "is" sein...

Danke nochmals
-- Never change a running system --
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:27 Uhr.
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