Einzelnen Beitrag anzeigen

Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Instanz welcher abgeleiteten Klasse?

  Alt 7. Dez 2004, 13:19
Zitat von nailor:
Zitat von stoermi:
Zitat von nailor:
du könntest mit dem is/as operator arbeiten. aber das ist in deinem falle wohl nicht im sinne von OOP.
Das heißt? Hast du einen besseren Vorschlag?
wenn du in der basisklasse wissen willst, welche abgeleitete variante du hast, hast du mit hoher wahrscheinlichkeit eine aufgabe nicht weit genug nach unten durchdelegiert. wenn du zum beispiel eine meldung ausgeben willst "ich bin ein MOTORRAD" könntest du das mit dem "is"-operator in der basisklasse machen. sauberer wäre eine abstrakte methode, die die nachkommen implementieren müssen. und da diese wissen, welchen typ sie haben, braucht man keinen "is" operator.

ja, es mag auch fälle geben, wo man den operator braucht, aber das sollte die ausnahme sein.

is brauchst Du dann, wenn Du zum Beispiel Objecte in einer Liste speicherst, welche nicht unbedingt aller derselben Basisklasse (außer TObject) angehören.
Günter
  Mit Zitat antworten Zitat