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
Animation
Klasse Actor V0
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();
NetBeans Projekt Actor V1