1. Klassen und Objekte

Klasse: Selbstdefinierte Datenstruktur, die sowohl ueber bestimmte Eigenschaften verfuegt (Var), wie auch gewisser Methoden faehig ist.  


 
2. Ueberladen von Methoden

Auto wird um alter(string titel) erweitert.
Beispiel
Der Compiler kann die Signaturen zweier gleichnamiger Methoden unterscheiden, wenn Sie sich in wenigstens einem Parameter unterscheiden.
Verwendung: Bei nachtraeglicher Erweiterung einer Funktion muss nur die Funktion ueberladen werden, der Rest bleibt.


 
3. Konstruktoren

Ein Konstruktor dient zur Initialisierung eines Objekts. Der Name eines Konstruktors muss mit dem Klassennamen uebereinstimmen.
Standardkonstruktor:
newAuto() 


4. Vererbung - Ueberlagerung von Methoden

Auto
name
erstzulassung
leistung
line.gif
setzename()
p.int alter()
{return 2001-erstzulassung;

blue2_4.gif

Cabrio
name
erstzulassung
leistung
line.gif

 

 

blue2_4.gif

Zweisitzer Cabrio
line.gif

boolean notsitze

line.gif
 p.int alter()
 {return 2001-erstzulassung;

 

 line2.gif

 class Cabrio extends Auto

 Die Kindsklasse
Cabrio erbt saemtliche Variablen und Methoden der Vaterklasse Auto

 line2.gif

class Zweisitzercabrio extends Cabrio 

 

 

Definiert eine abgeleitete Klasse eine Methode mit dem gleichen Namen wie in der Vaterklasse, so ueberlagert sie die Methode der Vaterklasse. Hier: Zweisitzercabrio.alter ueberlagert auto.alter.



5. Abstrakte Klassen und Methoden

Abstrakte Methoden erhalten nur Deklarationen des Methodenkopfes, aber keine Implementierung des Methodenrumpfes.
public abstract double monatsbrutto(); [keine geschweifte Klammer!] 
Klassen, die mindestens eine abstrakte Methode enthalten, muessen ebenfalls mit dem Schluesselwert abstrakt versehen werden.


6. Interfaces

Ein Interface besteht ausschliesslich aus abstrakten Methoden und Konstanten.
Durch Implementieren eines Interfaces verpflichtet sich die Klasse, alle Methoden, die im Interface deklariert sind, zu verwenden.
Beispiel
Interfaces sind Klassen, die sich vererben lassen. Das Interface kann in unterschiedlichen Vererbungshierarchien auftauchen. Statt die Methode wiederholt zu deklarieren, wird Interface eingebunden.