001    package de.hska.java.aufgaben.interfaces;
002    
003    /**
004     * Implementierung einer KomplexenZahl mit je einem double-Wert
005     * für den Real- und dem Imaginärteil.
006     * 
007     * <p>
008     *   <a href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/interfaces.html#komplexezahl">Zurück zum Aufgabentext</a>
009     * </p>
010     * 
011      * 
012     * @author Christian Pape
013     *
014     */
015    public class KomplexeZahlKartesisch implements KomplexeZahl {
016    
017            private double realTeil;
018            
019            private double imaginaerTeil;
020            
021            public KomplexeZahlKartesisch(double realTeil, double imaginaerTeil) {
022                    this.realTeil = realTeil;
023                    this.imaginaerTeil = imaginaerTeil;
024            }
025            
026            public double getImaginaerteil() {
027                    return imaginaerTeil;
028            }
029    
030            public double getRealteil() {
031                    return realTeil;
032            }
033            
034            public KomplexeZahl addieren(KomplexeZahl zahl) {
035                    return new KomplexeZahlKartesisch(zahl.getRealteil() + realTeil,
036                                                          zahl.getImaginaerteil() + imaginaerTeil);
037                    
038            }
039    
040            public KomplexeZahl multiplizieren(KomplexeZahl zahl) {
041                    return new KomplexeZahlKartesisch(
042                                    realTeil * zahl.getRealteil() - imaginaerTeil * zahl.getImaginaerteil(),
043                                    realTeil * zahl.getImaginaerteil() + zahl.getRealteil() * imaginaerTeil);
044            }
045    
046    }