public class Konto { final String kontoinhaber; final String iban; // Mit "static" hätten alle mit new gebildeten // Konto-Objekte immer den gleichen Betrag, // da die Variablen direkt in der Klasse // angelegt werden, nicht separat in jedem Objekt! private int saldo_euro = 100; private int saldo_cent = 0; private boolean pin(){ if(Eingabe.readInt("Bitte PIN eingeben: ") == 1234){ System.out.println("PIN OK."); return true; } else { System.err.println("PIN falsch, Zugriff verweigert."); return false; } } public int[] kontostand(){ int[] betrag = { saldo_euro, saldo_cent }; return betrag; }; public void einzahlen(int euro, int cent){ saldo_euro += euro; saldo_cent += cent; } public boolean abheben(int euro, int cent){ if( pin() ){ saldo_euro -= euro; saldo_cent -= cent; return true; } return false; } public boolean ueberweisen(String iban, int euro, int cent){ if(pin()){ System.out.println("Überweisung OK..."); // Hier müssten die Beträge noch vom eigenen Konto // abgezogen, und auf das andere konto gebucht werden. return true; } return false; } // Der Konstruktor wird aufgerufen, wenn ein // new Konto() im Programm auftaucht. Standardmäßig // liefert er nur Speicher für ein Objekt, man // kann aber auch mehr machen... public Konto(){ // heißt immer so wie die Klasse saldo_euro = saldo_cent = 0; kontoinhaber = "Beispiel"; iban = "DE" + (long) (Math.random() * 100000000000000000L); } // Dieser Konstruktor kann per Übergabevariablen // bereits Werte im neu angelegten konto eintragen. public Konto(String ki, String ib, int se, int sc){ // if(administrator_kennwort_abfrage()){ kontoinhaber = ki; iban = ib; saldo_euro = se; saldo_cent = sc; } // Hier wird toString() überschrieben: public String toString(){ // Hier soll bei Ausgabe des Konto-Objekts // tatsächlich der Kontostand usw. ausgegeben werden. return kontoinhaber + ", " + iban + ", " + saldo_euro + " Euro, " + saldo_cent + " Cent"; } }