Übersicht

  => Die Klasse BankKonto
  => Wie benutzt man die Klasse BankKonto?
  => UML
  => Beispiele
  => Aufgaben


Die Klasse BankKonto

Hier der Beispielcode:

1    import java.io.*;           // für I/O
2    // I/O = Input/Output
3    ////////////////////////////
4    class BankKonto
5       {
6       private double kontostand;      // kontostand
7
8       public BankKonto(double startbetrag)   // constructor
9          {
10         kontostand = startbetrag;
11         }
12
13      public void einzahlung(double betrag)      // einzahlung
14         {
15         kontostand = kontostand + betrag;
16         }
17
18      public void auszahlung(double betrag)      // auszahlung
19         {
20         kontostand = kontostand - betrag;
21         }
22
23      public void anzeigen()                     // zeigt kontostand
24         {
25         System.out.println("Kontostand=" + kontostand);
26         }
27      }  // end class BankKonto

=> Erklärungen:

<<<

Wie benutzt man die Klasse BankKonto?

Hier ein kleines Beispielprogramm:

1    import java.io.*;
2
3    class BankApp
4       {
5       public static void main(String[] args)
6          {
7          BankKonto bk1 = new BankKonto(100.00); // Konto erzeugen
8
9          System.out.print("Vor den Transaktionen, ");
10         bk1.anzeigen();                        // Kontostand anzeigen
11
12         bk1.einzahlung(74.35);                 // einzahlung
13         bk1.auszahlung(20.00);                 // auszahlung
14
15         System.out.print("Nach den Transaktionen, ");
16         bk1.anzeigen();                        // Kontostand anzeigen
17
18
19         }  // end main()
20      }  // end class BankApp

=> Erklärungen:

Ein Testlauf:

Vor den Transaktionen, Kontostand=100.0
Nach den Transaktionen, Kontostand=154.35

Probleme . . .
kann es an folgender Stelle geben: Der Java-Compiler sucht bei der Übersetzung der Klasse BankApp die Klasse BankKonto (beachte GROSS- und kleinschreibung), findet sie aber nicht.
Lösung: die übersetzte Datei BankKonto.class muss im gleichen Verzeichnis stehen wie das zu übersetzende Java-Programm BankApp.java

<<<

UML

UML steht für Unified Modeling Language, zu Deutsch etwa eine Beschreibungssprache für Klassen (sehr frei übersetzt!). Beispiel:

Bankkonto
kontostand: double
constructor
Bankkonto(startbetrag: double)
method
einzahlung(betrag: double)
auszahlung(betrag: double)
anzeigen()

Klassen (und Objekte) werden in UML durch Rechtecke dargestellt: in der ersten Zeile steht der Name der Klasse, hier also Bankkonto, in der zweiten Zeile werden die Eigenschaften aufgezählt, und da es in unserer Klasse nur eine Variable kontostand gibt, steht hier auch nur eine Eigenschaft. In der dritten Zeile finden wir die Methoden (oder Funktionen) der Klasse Bankkonto: einzahlung, auszahlung und anzeigen, sowie den Konstruktor.
Link zu UML (Klassendiagramm): UML kompakt

Unser Java-Editor kann "automatisch" UML-Diagramme erzeugen, Beispiel:

Wie findest du bitte selbst heraus! (siehe Aufgabe 1)

<<<

Beispiele

findest du im Lehrer-Ordner rechts oben auf dem Desktop unter wspiegel u. s. w.:, das Beispielprogramm musst du leider selbst tippen . . .

<<<

Aufgaben

  1. Erzeuge zur Klasse BankKonto mit dem Java-Editor ein UML-Diagramm!
  2. Schreibe das Beispiel-Programm ab und bringe es zum Laufen!
  3. Verändere in dem Beispielprogramm die Auszahlungen so, dass du ins Soll kommst!
  4. Rufe im Beispielprogramm ein zweites Konto ins Leben! Kommen sich die beiden Konten ins Gehege? Kann man 'gleichzeitig' im Beispielprogramm mit den beiden Konten arbeiten?
  5. Bei Taschengeld-Konten darf man überhaupt nicht überziehen, und normalerweise gibt die Bank eine bestimmte Grenze vor, bis zu der man das Konto überziehen kann (Dispositionskredit). Wie sieht das UML-Diagramm der Klasse TaschengeldKonto aus?
  6. Implementiere deine Klasse TaschengeldKonto in Java: TaschengeldKonto.java & teste sie!
<<<
    W. Spiegel, Kontakformular