Anmerkung: In dieser Jahrgangsstufe geht es vor allem um die Programmierung mit Java. Zum Erlernen eignet sich unter anderem das Programm BlueJ.
Objekte und Klassen
Klassen
Eine Klasse besteht aus Name, Attributen und Methoden. Nach Konventionen wird der Klassenname groß und die Attribute sowie die Methoden klein geschrieben. Besteht der Begriff aus mehreren „Teilen“, werden die weiteren Wörter groß geschrieben.
KREIS |
durchmesser xPosition yPosition farbe istSichtbar |
sichtbarMachen() horizontalBewegen(int entfernung) farbeAendern(String neueFarbe) groesseAendern(int neuerDurchmesser) |
Objekte
Von einer Klasse können ein oder mehrere Objekte geschaffen werden und mit unterschiedlichen Namen versehen werden. Allen Attributen muss ein Wert zugewiesen werden. Mit Hilfe von Methoden sendet der Benutzer an ein Objekt eine Botschaft, die es veranlasst, die entsprechende Änderung seiner Attribute durchzuführen.
JAVA-Quelltext mit Erklärungen am Beispiel eines Programmes
Klassendefinition: Die Beschreibung der Klasse
public class KREIS {
Definition der Attribute durch Zugriffsrecht (private oder public), Bezeichner und Datentyp (z.B. int, String, boolean).
private int radius;
private int xPosition;
private int yPosition;
private String farbe;
private boolean istSichtbar;
Konstruktor: Hier werden die Anfangswerte der einzelnen Attribute festgelegt.
public KREIS() oder public KREIS(int r, int x, int y) {
Wertzuweisungen
radius = 15 oder r;
xPosition = 20 oder x;
yPosition = 60 oder y;
farbe = "blau";
istSichtbar = false;
Definition einer Methode durch Zugriffsrecht, Rückgabewert (hier void: keine Rückgabe), Bezeichner und ggf. anzugebender Parameter
public void zeichnen() {
...
}
Aufrufen einer weiteren Methode
public void sichtbarMachen() {
istSichtbar = true;
zeichnen();
}
Methode mit nötiger Parametereingabe und Wertzuweisung
public void horizontalBewegen(int entfernung) {
loeschen();
xPosition = xPosition + entfernung;
zeichnen();
}
}
Datentypen
Datentyp | Beschreibung | Werte | Speicherbedarf |
boolean | Wahrheitswert | true oder false | 1 Bit |
int | ganze Zahl | (z.B.) -3; 0; 5 | 32 Bit (4 Byte) |
double | Dezimalzahl | (z.B.) 3.27; -0.05 | 64 Bit (8 Byte) |
char | einzelnes Zeichen | 'a'; '5' | 16 Bit (2 Byte) |
Der Datentyp „String“ ist ein zusammengesetzter Datentyp, der sich aus einzelnen Daten vom Typ „char“ zusammensetzt, z.B. "Abc" = 'A' + 'b' + 'c'.
Kommentierung
Jede Methode sollte vorher kommentiert werden, damit der Leser des Quelltextes eine Chance hat zu verstehen, was mit dieser Methode bewirkt werden soll. Bei einer Zeile verwendet man die Zeichenfolge //.
Bei mehreren Zeilen wird Folgendes benutzt:
/**Diese Methode soll zeigen,
* dass sie sinnlos ist.
*/
Zugriffsrechte
Beim Definieren der Attribute durch Zugriffsrechte gibt es zwei Möglichkeiten:
- private: Attribute oder Methoden, auf die nur Objekte dieser Klasse zugreifen (lesen oder verändern) können.
- public: Attribute oder Methoden, auf die auch Objekte anderer Klassen zugreifen können.
Im Sinne der Datenkapselung (Objekte sollen nicht direkt auf Attributwerte anderer Objekte zugreifen dürfen) werden Attribute üblicherweise als "private" deklariert. Soweit eine Änderung des Attributwerts zugelassen werden soll, wird eine Methode mit dem Zugriffsmodifikator public zur Verfügung gestellt, die diese Änderung (i.d.R. nach Prüfung auf sinnvolle Werte, z.B. Altersangabe zwischen 0 und 100) durchführt.
Rückgabewerte
Verwendet man „void“, ist keine Rückgabe eines Wertes vorgesehen (ein ggf. geändeter Wert ist nur über den Objektinspektor einsehbar). Bei „int“ wird eine integer-Zahl zurückgegeben und kann von einem anderen Objekt weiterverarbeitet werden bzw. über die Konsole betrachtet werden. Analog dazu funktionieren „double, String, boolean“.
Wertzuweisung
Eine Wertzuweisung an eine Variable geschieht durch einen Ausdruck der Form
x = 50;
y = x + 25;
y = (2*x + 3) - 5
Dabei wird der Variablen auf der linken Seite die Zahl oder das Ergebnis des Rechenausdrucks auf der rechten Seite zugewiesen, z.B. y = 5; x = 12; y = 3*x - 6; danach ist y = 30 und x = 12.
Der Ausdruck y = x%3 (sprich: x modulo 3) bedeutet, dass y der Rest zugewiesen wird, der sich bei der Division von x durch 3 ergibt. Mit x = 13; y = x%3; wird y der Wert 1 zugewiesen.
Kurzformen
y++;
bedeutet dasselbe wie y = y + 1;
und y--
dasselbe wie y = y - 1;
.
Möchte man y = y + 3
oder y = y - 3
abkürzen, verwendet man y += 3
bzw.
y -=3
.