# Klassen innerhalb eines Projektes



## Gakje (20. Nov 2008)

So, also ich habe  2 Klassen, die eine habe ich folgendermaßen geschrieben


```
public class Konto
{
    private int _saldo;
    private int _konto;

    /**
     * Erzeugt ein neues, leeres Konto mit Kontonummer
     * 
     * @param kontonummer die gewuenschte Kontonummer
     */
    public Konto(int kontonummer)
    {
        _saldo = 0;
        _konto = kontonummer;
    }

    /**
     * Erzeugt ein neues Konto mit einem Startguthaben und Kontonummer
     * 
     * @param startguthaben das gewuenschte Startguthaben
     * @param kontonummer die gewuenschte Kontonummer
     */
    public Konto(int startguthaben, int kontonummer)
    {
        _saldo = startguthaben;
        _konto = kontonummer;
    }

    /**
     * Zahlt einen Betrag auf das Konto ein
     * 
     * @param betrag der einzuzahlende Betrag
     */
    public void zahleEin(int betrag)
    {
        if (betrag >= 0)
        {
            _saldo = _saldo + betrag;
        }
        else
        {
            System.out.println("Fehler: Es kann kein negativer Betrag eingezahlt werden");
        }
    }

    /**
     * Hebt einen Betrag vom Konto ab
     * 
     * @param betrag der abzuhebende Betrag
     */
    public void hebeAb(int betrag)
    {
        if (betrag >= 0)
        {
            _saldo = _saldo - betrag;
        }
        else
        {
            System.out.println("Fehler: Es kann kein negativer Betrag ausgezahlt werden");
        }
    }
    
    /**
     * Liefert den Saldo des Kontos zurueck
     * 
     * @return der Saldo des Kontos
     */
    public int gibSaldo()
    {
        return _saldo;
    }
}
```

Also das is ein Konto wie man ja unschwer erkenn kann, nun soll man mit einer anderen Klasse darauf zugreifen können und Sachen von einem Konto aufs andere überweisen könnne, also wenn ich 2 Exemplare von Konto ertslle mit Kontonummer 1 und 2 soll ich von 1 auf 2 was überweisen können. Erst mal müssen dann doch gestrichelte Pfeile zwischen beiden sein oder, aber wie kann ich auf die andere Klasse zugreifen. p.s.: war krank, wurd wahrscheinlich grade behandelt.


```
/**
 * Diese Klasse ueberweist Geld von einem Konto auf ein anderes
 * 
 * @author Name
 * @version (eine Versionsnummer oder ein Datum)
 */
public class Überweisungsmanager
{
    /**
     * Ueberweisen von Geld
     * 
     * @param quellkonto konto von dem abgehoben werden soll
     * @param zielkonto konto auf das ueberwiesen werden soll
     */
    public int ueberweisen(Konto quellKonto, Konto zielKonto, int betrag)
    {
       
    }
}
```
So ungefähr soll das aussehen


----------



## SlaterB (20. Nov 2008)

quellKonto.hebeAb(betrag);
zielKonto.zahleEin(betrag);


----------



## Gakje (20. Nov 2008)

dann sagt er 
"found int but expected Konto"

und wenn ich das änder auf int quellkonto....

dann sagt er 
"int can not be deferenced" also er kann das nichma übersetzen


----------



## SlaterB (20. Nov 2008)

kompiliert bei mir ohne Fehler:

```
public class Test
{
    public static void main(String[] args)
    {
    }


}


class Überweisungsmanager
{
    /**
     * Ueberweisen von Geld
     * 
     * @param quellkonto
     *            konto von dem abgehoben werden soll
     * @param zielkonto
     *            konto auf das ueberwiesen werden soll
     */
    public int ueberweisen(Konto quellKonto, Konto zielKonto, int betrag)
    {
        quellKonto.hebeAb(betrag); 
        zielKonto.zahleEin(betrag);
        return 0;
    }
}


class Konto
{
    private int _saldo;
    private int _konto;

    /**
     * Erzeugt ein neues, leeres Konto mit Kontonummer
     * 
     * @param kontonummer
     *            die gewuenschte Kontonummer
     */
    public Konto(int kontonummer)
    {
        _saldo = 0;
        _konto = kontonummer;
    }

    /**
     * Erzeugt ein neues Konto mit einem Startguthaben und Kontonummer
     * 
     * @param startguthaben
     *            das gewuenschte Startguthaben
     * @param kontonummer
     *            die gewuenschte Kontonummer
     */
    public Konto(int startguthaben, int kontonummer)
    {
        _saldo = startguthaben;
        _konto = kontonummer;
    }

    /**
     * Zahlt einen Betrag auf das Konto ein
     * 
     * @param betrag
     *            der einzuzahlende Betrag
     */
    public void zahleEin(int betrag)
    {
        if (betrag >= 0)
        {
            _saldo = _saldo + betrag;
        }
        else
        {
            System.out.println("Fehler: Es kann kein negativer Betrag eingezahlt werden");
        }
    }

    /**
     * Hebt einen Betrag vom Konto ab
     * 
     * @param betrag
     *            der abzuhebende Betrag
     */
    public void hebeAb(int betrag)
    {
        if (betrag >= 0)
        {
            _saldo = _saldo - betrag;
        }
        else
        {
            System.out.println("Fehler: Es kann kein negativer Betrag ausgezahlt werden");
        }
    }

    /**
     * Liefert den Saldo des Kontos zurueck
     * 
     * @return der Saldo des Kontos
     */
    public int gibSaldo()
    {
        return _saldo;
    }
}
```


----------



## Gakje (20. Nov 2008)

```
public int ueberweisen(Konto quellKonto, Konto zielKonto, int betrag)
    {
        quellKonto.hebeAb(betrag);
        zielKonto.zahleEin(betrag);
        return 0;
    }
```

Wenn ich diese Methode aufrufe , dann sagt er als Fehlermeldung:"Error: incompatible types - found int but expected Konto"

Also ich hab bei quellKonto ne Zahl ja eingetragen, damit ich weiss von welchem Konto er das abheben soll.


----------



## Gakje (20. Nov 2008)

hat sich grade erledigt, hab immer nur 1 und 2 eingegeben aber wenn ich konto1 und konto 2 eingebe geht es, danke schön^^


----------

