Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| ffprog:ffprogjava2016:animation [2016/09/02 14:16] – [Animation] Ivo Blöchliger | ffprog:ffprogjava2016:animation [2016/09/02 15:07] (current) – [Animation] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{backlinks> | ||
| + | ==== 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, | ||
| + | * 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 '' | ||
| + | * '' | ||
| + | |||
| + | === private vs. public === | ||
| + | * public: Alle Klassen dürfen die Variable lesen **und verändern**, | ||
| + | * private: Nur die eigene Klasse darf die Variable lesen und verändern, bzw. die Methode aufrufen. | ||
| + | |||
| + | Es gibt noch zwei weitere Möglichkeiten: | ||
| + | |||
| + | === 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 " | ||
| + | |||
| + | ==== Animation ==== | ||
| + | === Klasse Actor V0 === | ||
| + | * Konstruktor (aufgerufen mit new) | ||
| + | * Methode nextStep | ||
| + | * Methode draw | ||
| + | * eventuell weitere Setter/ | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | === Klasse Actor V1 === | ||
| + | * static Variablen und Methoden, um alle Actor-Instanzen auf einmal ansprechen zu können. | ||
| + | * private static ArrayList< | ||
| + | * public static void nextStepAll(); | ||
| + | * public static void drawAll(); | ||
| + | |||
| + | {{ : | ||