Aufg.: Taschengeldkonto
Completion requirements
Opened: Monday, 6 January 2020, 8:30 PM
Due: Monday, 6 January 2020, 8:30 PM
Sie arbeiten für ein Finanzinstitut und sollen folgendes Programm überarbeiten:
- class Konto
- {
- private double ktoStand;
- private int nr;
- private static int zaehler = 400000; //statische Eigenschaft
- Kunde kunde;
- private Konto() //Standardkonstruktor
- {
- nr = ++zaehler;
- ktoStand = 0;
- }
- public Konto(double w, Kunde k)
- : this() // allgemeiner Konstruktor (mind. ein Parameter)
- { // :this() bewirkt, dass zuerst der Standardkonstr.
- //aufgerufen wird
- ktoStand = w;
- kunde = k;
- }
- public Kunde getKunde()
- {
- return kunde;
- }
- public int getKtoNr()
- {
- return nr;
- }
- public double getKtoStand() //Methode getKtoStand() liefert ktoStand zurück
- { //public, damit von außen aufrufbar
- return ktoStand;
- }
- public void buchen(double betrag)
- {
- ktoStand += betrag; //ktoStand = ktoStand + betrag;
- }
- }
- class Kunde
- {
- private string name;
- private int nr;
- private static int zaehler = 400000;
- private List<Konto> konten = new List<Konto>(); //Liste mit Konten
- public Kunde() //Standardkonstruktor (keine Parameter)
- {
- nr = ++zaehler;
- name = "noname";
- }
- public Kunde(string name)
- : this() // allgemeiner Konstruktor (mind. ein Parameter)
- { // :this() bewirkt, dass zuerst der Standardkonstr.
- // aufgerufen wird
- this.name = name;
- }
- public void addKonto(Konto kto)
- {
- konten.Add(kto); // Hinzufügen eines Kontos
- }
- public List<Konto> getKonten() //Liste mit Konten zurückgeben
- {
- return konten;
- }
- public void setName(string name)
- {
- this.name = name;
- }
- public string getName()
- {
- return name;
- }
- public int getNr()
- {
- return nr;
- }
- }
Die
Marketing-Abteilung will nun Taschengeldkonten einführen, um potentielle
Kunden schon früh zu binden. Taschengeldkonten unterscheiden sich von
den bisherigen Bankkonten dadurch, dass sie nicht überzogen werden
können und es muss ein Erziehungberechtigter 2. Kunde geführt werden.
Erweitern sie das Programm so, dass auch Taschengeldkonten verwaltet werden können und zeichnen sie das UML-Klassendiagramm