Ich weiss nicht wie ich mit den Videos
anfangen soll.. meistens sag ich: Hallo,
wir sind zurueck! (Ich wiederhole mich..)
In diesem Video geht es um Polymorphie.
Polymorphie klingt erstmal komplex, nach
einem schweren Thema. Es ist das dritte
Konzept der Objektorientierten
Programmiersprache, und es wird
hoffentlich relativ einfach zu verstehen
sein. Wir haben vorhin schon
einen Hinweis dazu gesehen. Wir hatten
das Partikel System, welches Partikel
gesteuert hat. Dann haben wir ein
Quadrat Partikel Klasse erstellt, welche
eine Subklasse von Partikel war. Dann
konnten wir das in das Partikel System
einfuegen, und alles hat perfekt
funktioniert. Doch wie ging das?
Denken wir uns mal eine aehnliche
Situation aus. Sagen wir mal, wir haben
ein Feld (Array). Wir definieren erstmal
eine Klasse, namens Tier (Animal).
Dann haben wir auch noch eine Klasse
namens Hund (Dog). Hund (Dog) vererbt
Tier (Animal). Und wir haben eine Klasse
Katze (Cat), und Katze (Cat) vererbt
Tier (Animal). Und wir haben eine Klasse
Schildkroete (Turtle). Schildkroete
(Turtle) vererbt ebenfalls Tier (Animal)
Ihr koennt sehen wo das hinfuehrt.
Wir koennen eine Superklasse Tier (Animal)
verwenden, aehnlich wie die Superklasse
Partikel (Particle), mit vielen Subklassen
die alle die Variablen und Methoden einer
Tier (Animal) Klasse haben, aber mit
individueller Anpassung. Was wir jetzt
machen wollen, ist ein Array zu erstellen.
In unserem Beispiel mit der Partikel
Klasse, benutzten wir eine ArrayList,
aber um es durchzudenken nehmen wir
ein einfaches Array. Wir erstellen ein
Animal Array, namens Kingdom.
Es ist ein neues Animal Array, mit
Eintausend Tieren. Ich moechte Hunde,
Katzen und Schildkroten in das Array
einfuegen. Aber geht das?! Die Antwort
ist natuerlich ja, warum waeren wir sonst
hier.. Aber ueberlegt mal, waere das eure
erste Vermutung gewesen? Vielleicht
haettet ihr gesagt: Ich erstelle ein
Processing Sketch und ich werde all die
verschiedenen Objekte auf meinem
Bildschirm haben. Ich brauche mein Dog
Array um all meine Hunde zu erfassen,
ich brauche mein Katzen Array um all
meine Katzen zu erfassen, und mein
Schildkroeten Array um all meine
Schildkroeten zu erfassen. Das wird
ziemlich schnell muehsam. In manchen
Faellen will man das vielleicht. Aber ein
Grund weshalb wir diese Vererbungsstruktur
benutzen, ist, dass es uns erlaubt all
diese Objekte welche die gleiche Super
Klasse haben, zusammen zu tun und so
mit ihnen zu arbeiten.