# Bank-Konto Aufgabe



## Sascha.epe (5. Apr 2012)

Hallo
ich habe ein Problem und zwar muss ich folgende Aufgabe lösen:


> ImplementierenSie die Klasse Konto wie in der Vorlesung beschrieben mit den Methoden:
> 
> getKontostand()
> getInhaber()
> ...



Soweit auch kein Problem außer mit der getInhaber Methode. Wie kriege ich jetzt eine Methoden in der Klasse Konto hin, die die 3 Strings aus der Inhaber Klasse "returnen" ??? Also quasi eine Observer Methode.

Hier mein Code für die Klasse Konto:

```
public class Konto
{
    int nummer;
    private int Kontostand;
    Inhaber neuerInhaber = new Inhaber();

    
    public Konto(int neueNummer, String neuVorname , String neuNachname, String neuAdresse)
    {
        nummer = neueNummer;
        Kontostand = 0;
        neuerInhaber.changeVorname(neuVorname);
        neuerInhaber.changeNachname(neuNachname);
        neuerInhaber.changeAdresse(neuAdresse);
    }
    
    public Konto(int neueNummer, String neuVorname , String neuNachname, String neuAdresse, int einzahlung)
    {
        nummer = neueNummer;
        neuerInhaber.changeVorname(neuVorname);
        neuerInhaber.changeNachname(neuNachname);
        neuerInhaber.changeAdresse(neuAdresse);
        if (einzahlung > 0) Kontostand += einzahlung;
        else System.out.println ("Fehlerhafte Eingabe!");
    }
    
        public Konto(int neueNummer, String neuVorname , String neuNachname, String neuAdresse, Konto empfänger)
    {
        nummer = neueNummer;
        neuerInhaber.changeVorname(neuVorname);
        neuerInhaber.changeNachname(neuNachname);
        neuerInhaber.changeAdresse(neuAdresse);
        empfänger.einzahlen(60);
    }
    
    int getKontostand()
    {
        return Kontostand;
    }
    
    void einzahlen ( int betrag )
    {
        if (betrag > 0) Kontostand += betrag;
        else System.out.println ("Fehlerhafte Eingabe!");
    }
    
    void auszahlen (int betrag)
    {
        if (betrag > 0) Kontostand -= betrag;
        else System.out.println ("Fehlerhafte Eingabe!");
    }
    
    void überweisen (Konto empfänger , int betrag)
    {
         auszahlen(betrag);
         empfänger.einzahlen(betrag);
    }
}
```

Und hier mein Code für die Klasse Inhaber:

```
public class Inhaber
{
    public String Vorname;
    public String Nachname;
    public String Adresse;

    /**
     * Constructor for objects of class Inhaber
     */
    public Inhaber()
    {
       Vorname = "kein Vorname";
       Nachname = "kein Nachname";
       Adresse = "keine Adresse";
    }
    
    void changeVorname (String neuVorname)
    {
        Vorname = neuVorname;
    }
    
    void changeNachname (String neuNachname)
    {
        Nachname = neuNachname;
    }
    
    void changeAdresse (String neuAdresse)
    {
        Adresse = neuAdresse;
    }
}
```

Ich höffe ihr könnt mir da weiterhelfen..


----------



## L-ectron-X (5. Apr 2012)

In Konto führst du bereits einen Inhaber, das ist OK. Und diese Inhaber-Referenz kannst du benutzen, um die Daten des Inhabers auszulesen. Du musst in Inhaber also entsprechende Methoden zum Auslesen seiner Daten anbieten, die du in Konto aufrufst, um an die Daten zu kommen.

Beim weiteren Verständnis hilft dir dieser FAQ-Beitrag: http://www.java-forum.org/einfuehrungen-erste-schritte/14159-zugriff-objekt-anderen.html


----------



## fastjack (5. Apr 2012)

Ich würde die Logiken aus den Konstruktoren rausnehmen. Probier mal auch this(...) in den Konstruktoren aus.


----------

