package de.hska.java.aufgaben.interfaces; /* * Abstrakter Datentyp, der eine komplexe Zahl und * die Operatoren + und * als Methoden definiert. *
* Eine komplexe Zahl ist durch einen Realteil a und
* Imaginärteil b gegeben. Komplexe Zahlen werden
* meist in der Form a + i*b angegeben.
* i ist eine imaginäre Zahl mit
* i2 := -1.
* Das Symbol + verhält sich wie eine normale Addition
* (es ist aber nur ein Trennsymbol, kein Operator).
*
* Zwei komplexe Zahlen a1 + ib1
* und a2 + ib2 werden wie folgt
* addiert und multipliziert:
*
(a1 + ib1) + (a2 + ib2)
* := a1 + a2 + i(b1 + b2) (a1 + ib1) * (a2 + ib2)
* := a1a2 - b1b2
* + i (a1b2 + b1a2)zahl
* null ist.
*/
public KomplexeZahl addieren(KomplexeZahl zahl);
/**
* Multipliziert zwei komplexe Zahlen a1+i*b1
* und a2+i*b2 und gibt das
* Produkt (a1*a2 - b1*b2) + i(a1*b2 + a2*b1) zurück.
* Wirft eine NullPointerException, falls zahl
* null ist.
*/
public KomplexeZahl multiplizieren(KomplexeZahl zahl);
}