Java Schulung - Jens.Trapp@DLR.De - August 1996

Vererbung


Klassen können durch Vererbung ergänzt (extends) oder spezifiziert (implements) werden.

public class Punkt3D extends Punkt2D
{
	public static final int DIMENSION = 3;
	public double z = 0;
	
	//Ueberschreibe Punkt2D length2
	public double Laenge_berechnen2()
	{
		return x*x+y*y+z*z;
	}
	
	//Ueberlaedt die Funktion setzen(double a, double b) aus Punkt2D
	public void setzen(double a, double b, double c)
	{
		setzen(a,b);
		z=c;
	}
	
	public void setzen(Punkt3D other)
	{
		setzen(other.x, other.y);
		z=other.z;
	}
	
	public void ausgeben()
	{
		System.out.println(x + "," + y + "," + z);
	}

}

Punkt3D ist eine abgeleitete Klasse von Punkt2D. Man sagt Punkt3D ist die Subklasse von Punkt2D. Umgekehrt ist Punkt2D die Superklasse von Punkt3D.

Bei der Vererbung bleiben die alten Methoden und Elemente auch für die abgeleiteten Klassen gültig. D.h. die Klasse Punkt3D besitzt neben dem Element z auch die Elemente x und y.

Konstruktoren werden nicht vererbt.

Alle Klassen werden von java.lang.Object abgeleitet.

Klassen, die als final deklariert werden, können nicht mit Unterklassen erweitert werden.