==== Klassen ==== Unter einem Namensraum werden Klassen zusammengefasst (subsummiert). In einer Klasse werden Felder (Attribute) und Operationen (Methoden) deklariert. z.B.: * In einer Klasse befindet sich eine Operation, die den Durchschnitt einer Reihe von Werten berechnet. * Felder können Konstanten oder Variablen sein. * Methoden können Aufruf- und Rückgabe-Parameter benutzen **Deklaration:** class { ; ; (Aufrufparameter1, … ) { ; } (Aufrufparameter1, … ) { ; } } **Zum Beispiel:** class Test { public int value = 0; private int n = 0; public void Add(int x) { value = value + x; n = n + 1; } public float Mean() { float y y = value / n; return y; } } Dies ist lediglich die Definition eines Objektes. Um dieses Objekt nutzen zu können, muss zunächst ein konkretes Objekt mit diesen Eigenschaften erstellt werden. **Deklaration:** Test e = new Test(); * Über das konkrete Objekt c sind alle öffentlichen Attribute und Methoden zugreifbar. * Der Zugriff erfolgt über den Objektnamen Punkt und Attribut bzw. Methodennamen. c.value c.Mean() **Sichtbarkeitsattribute:** Durch Schlüsselwörter wie public und private kann geregelt werden, dass Attribute und Methoden zugreifbar sind. * public = genereller Zugriff * private = Zugriff nur innerhalb der Klasse