Animation und Einführung OOP
Ziel ist es, animierte Grafiken zu erzeugen und dabei die ersten Prinzipien der objektorientierten Programmierung (OOP) kennen zu lernen.
class
- Fundamentaler Container in Java. Enthält Variablen und Methoden (auch Funktionen, Unterprogramme, Prozeduren genannt).
- Mindestens eine Klasse in einem Programm muss eine statische Methode main haben. Dort startet das Programm.
Klasse vs. Instanz
- Klasse: Alles was static ist. Zugriff via KlassenName.variablenName oder KlassenName.methodenName.
- Klasse: Existiert genau einmal. Wird beim Laden des Javaprogramms angelegt.
- Instanz: Alles was nicht static ist. Es kann beliebig viele Instanzen einer Klasse geben, die mit
new KlassenName()
erst erzeugt werden müssen. new KlassenName()
liefert eine Referenz, d.h. einen Speicherort, wo die Daten der Instanz abgelegt sind.
private vs. public
- public: Alle Klassen dürfen die Variable lesen und verändern, bzw. die Methode aufrufen.
- private: Nur die eigene Klasse darf die Variable lesen und verändern, bzw. die Methode aufrufen.
Es gibt noch zwei weitere Möglichkeiten: protected oder gar nichts. Darauf wird hier nicht eingegangen.
Sinn von private
- Erlaubt Kontrolle über Variablen (niemand sonst darf die verändern).
- Erlaubt es, das interne Funktionieren einer Klasse zu verstecken.
Getter und Setter
- Zugriff auf private Variablen mit Hilfe einer (public) Methode. Beim Setter kann ein “Sanity-Check” gemacht werden. Diese Methoden kann Netbeans automatisch erzeugen.
Animation
Klasse Actor V0
- Konstruktor (aufgerufen mit new)
- Methode nextStep
- Methode draw
- eventuell weitere Setter/Getter Methoden
Klasse Actor V1
- static Variablen und Methoden, um alle Actor-Instanzen auf einmal ansprechen zu können.
- private static ArrayList<Actor> actorList;
- public static void nextStepAll();
- public static void drawAll();