1. Klassen und Objekte

Eine Klasse besteht aus Daten und Methoden (Funktionen), die mit diesen Daten operieren

Beispiel: die Klasse Circle

    public class Circle {
        public double x, y;
        public double r;

        public double circumference() { return 2 * 3.14159 *r; }
        public double area() { return 3.14159 * r * r; }
    }

Mit dem Schlüsselwort class wird eine neue Klasse eingeführt. Nach dem Schlüsselwort folgt der Name der Klasse, hier Circle. Die Klasse ist hier vom Typ public (Bedeutung von public in Kapitel 9).
Alles, was in dieser Klasse existieren soll, steht innerhalb der geschweiften Klammern. Das sind Daten (Synonym für Variablen) und Methoden (Synonym für Funktionen). Auf diese Daten/Methoden kann man verschiedene Zugriffsrechte vergeben (hier ist alles public), dazu aber (ebenfalls) mehr in Kapitel 9.
In diesem Beispiel werden drei Variablen (x, y und r) vom Typ double (Gleitkommazahl) und zwei Funktionen (circumference und area) definiert. Die Syntax der Funktionen ist die gleiche wie in C, nur daß vor dem Rückgabetyp noch der Zugriffsmodus steht (hier public).

Ein Objekt ist eine Instanz einer Klasse:
c ist eine neue Variable vom Typ Circle. Der Typ Circle ist eigentlich nichts anderes als eine Struktur, die außer Variablen auch Funktionen enthalten kann. Das Schlüsselwort new wird im nächsten Kapitel erklärt.

Circle c; // c ist Name, der auf Circle-Objekt zeigt
 c = new Circle(); // jetzt wird ein Objekt erzeugt

Zugriff auf das Objekt:

// Zugriff auf Daten des Objekts
c.x = 2.0;
c.y = 2.0;
c.r = 1.0;

// Benutzen der Objekt-Methode
double a;
a = c.area();

Es ist keine Übergabe von Argumenten nötig ( Funktion area() arbeitet auf Objekt c => daher der Name "objektorientiertes Programmieren").

this-Zeiger: zeigt innerhalb der Klasse auf das aktuelle Objekt
 

Inhalt           nächste Seite