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

Constructor-Chaining und this


Die im oben gezeigten Beispiel entstandene Code-Dopplung sollte verhindert werden, da sie fehler- und wartungsanfällig ist. Besser ist die Verkettung von Konstruktoren (wie auch von normalen Funktionen).

	public Kreis()
	{
		this(0,0,1);
	}
	public Kreis(double r)
	{
		this(0,0,r);
	}
	
	public Kreis(double x, double y, double r)
	{
		mitte = new Punkt2D();
		mitte.setzen(x,y);
		radius = r;
	}
	
	

Der this Operator bezeichnet das Object selbst. Es ist this.r identisch mit r.

Beispiel: Üblich ist das Kopieren eines Objects mit this

	public Kreis kopieren()
	{
			return new Kreis(this);
	}
	

Der Wert von this kann nicht verändert werden.

Im Beispiel wird durch die geschweiften Klammern hinter this ein Konstruktor aufgerufen. Dies kann aber nur aus einem Konstruktor desselben Klasse geschehen.