dedlfix: class.isInstance vs. instanceof

Beitrag lesen

echo $begrüßung;

Aber ... öh ... was muss man für abgefahrene Dinge tun, damit man irgendwelche Objekte hat, von denen man nicht weiss, welchen Typ sie haben, und irgendwelche Klassen, von denen man auch nichts weiss, so dass man testen muss, ob irgendwelche Objekte Instanz irgendwelcher Klassen sind?

Es gibt diverse Dinge beim Programmieren, die muss man einfach nur mal gehört haben. Man wird sie vielleicht nicht einsetzen. Aber manchmal kommt man bei einem bestimmten Problem an einen Punkt, an dem man das einsetzen kann und dann weiß man, wozu es gut ist. Das ist quasi wie beim Märchen von einem der auszog, das fürchten zu lernen. Irgendwann hatte er die Situation, die er sich vorher gar nicht vorstellen konnte.

Es ist ja nicht so, dass man gar nichts weiß, aber manchmal schreibt man generischen Code, der etwas bestimmtest macht, aber es dem Anwender offen lässt, welchen Typ er konkret einsetzen will. Ein Beispiel wäre eine Liste. Die zur Verwaltung notwendigen Methoden braucht man immer wieder, aber bei stark typisierten Sprachen will man nicht für jeden Typ diese Verwaltung erneut implementieren. Also nimmt man eine generische Listenklasse. Der konkrete Typ wird zur Laufzeit beim Erzeugen eines Objekts dieser generischen Listenklasse mitgegeben. Und schon hat man Code, bei dem man nicht weiß, was für einen konkreten Typ man zur Laufzeit zu verwalten hat. Man muss aber vielleicht testen, ob ein zur Liste neu hinzuzufügendes Objekt den gleichen Typ hat wie bei der Initialisierung der Listen-Instanz angegeben wurde.

echo "$verabschiedung $name";