...
Mit diesem Wissen können wir nun unsere Klasse “Ball” ableiten.
Implementierung
...
Dazu bearbeiten wir zunächst unsere Klasse “Ball” und erstellen einen neuen Konstruktor:
Der neue Konstruktor (Konstruktor2) unterscheidet sich darin, dass er die von uns gewünschten Argumente direkt akzeptiert und an unsere Funktionen weitergibt. Beim Initialisieren müssen wir nun nur noch die gewünschten Argumente übergeben und können kann verschiedene Objekte der Klasse “Ball” zeichnen.
Merke
...
- Klassen sind generische Objekte
...
- Objekte sind initialisierte Ableitungen von Klassen
...
- Argumente können den Objekten als Individualisierungs-Merkmale übergeben werden
Aufgaben
...
- Nutzt eure Kenntnisse und programmiert ein weiteres Argument für die Steuerung der Strichbreite
Mehrere Objekte einer Klasse
...
Im setup()
müssen wir diese Bälle nun instanzieren. Dazu definieren wir erst die Grösse des Arraysballs = new Ball[numOfBalls]
Dann iterieren wir über die Anzahl unserer Bälle und instanzieren sie mit unterschiedlichen Argumenten. Weil alle andere Argumente haben sollen, nutzen wir dazu die Funktion random()
.
Im draw()
iterieren wir wieder über die Anzahl Bälle numOfBalls
und rufen deren Funktionen zur Aktualisierung update()
, zur Kantenkollision checkEdges()
und Zeichnen display()
.
Aufgaben
- Lest und versteht Seiten 67 – 83 aus dem Buch “Nature Of Code” von Daniel Shiffman
- Erweitert euer Beispiel “P02_3_Bouncing_Ball_OOP_Array” so dass ihr mehrere Bälle habt, welche auf euren Mauszeiger reagieren.
Weiteres
- OOP – Tutorial mit Darstellungen
- Learning Processing – Shiffman Seiten 121 – 137