Mrz 032008
 

Hier mal eine weniger wissenschaftliche Erklärung zu Polymorphismus.

Polymorphismus ist die Fähigkeit, dieselbe Methode für mehrere Objekte aufzurufen, die von verschiedenen untergeordneten Klassen instantiiert wurden und unterschiedliches Verhalten generieren. Dazu wird häufig die Schnittstellenvererbung verwendet. Erben zwei untergeordnete Klassen dieselbe Schnittstelle, enthält jede der beiden dieselben Methodensignaturen wie die übergeordnete Klasse. Jede Klasse implementiert den Code auf eigene Art und ermöglicht so unterschiedliches Verhalten basierend auf derselben Methode.

Klassendiagramm für Polymorphismus

Im oben genannten Beispiel haben die Klassen CHund und CKatze von der übergeordneten Klasse CTier geerbt. Jede Klasse implementiert die eigene Version der Methoden: Fressen und Laufen auf unterschiedliche Art, da sie jedoch beide dieselbe Schnittstelle erben, könnte ein Client beide Klassen auf dieselbe Art behandeln.

Anders gesagt: Wenn ich weiss, dass ein Tier von Klasse CTier erbt, kann ich sicher sein, dass ich die Methoden: Fressen und Laufen aufrufen kann. Ich weiss zwar nicht, wie diese schlussendlich ausprogrammiert sind, aber das spielt mir in diesem Fall auch keine Rolle. Ich muss mich in meinem Programm nicht darum ob es eine Katze oder ein Hund ist, denn ich weiss es ist ein Tier und das Tier hat die Methode Laufen.

  4 Responses to “Polymorphismus”

  1. anschauliche erklrung –> kompliment!

  2. hast du als angehender evtl. noch eine bessere/einfachere erklrung?

  3. n, fressen und laufen versteh ich wohl am besten 😉

  4. das hast jetzt du gesagt 😉

Kommentar verfassen