12. Dokumentationskommentare und Datenkapselung

Submitted by javafrage on Thu, 09/11/2014 - 17:32

Die Klasse Flugzeug besitzt ein Attribute passagiere zur Verwaltung der aktuellen Passagieranzahl und eine Konstante MAX_PASSAGIERE.

  • Schützen Sie die aktuelle Anzahl der Passagiere mit einem Modifizierer so, dass man nur noch mit Methoden der Klasse Flugzeug auf dieses Attribut zugreifen kann. Tragen Sie den Modifizierer in den Quellcode an die richtige Stelle ein.
  • Die maximale Anzahl der Passagiere soll unveränderlich sein. Wählen Sie einen geeigneten Modifizierer und tragen Sie ihn im Quellcode ein.
  • Implementieren Sie eine Methode einsteigen().
    • Die Methode soll mit einem Eingabeparameter n Passagiere einsteigen lassen.
    • Sie gibt die Anzahl der Passagiere nach dem Einsteigen als Ergebnis zurück.
    • Sie verändert die Anzahl der Passagiere nicht, falls nach dem Einstiegen die maximale Kapazität (MAX_PASSAGIERE) überschritten ist.
    • Die Methode soll auch aus anderen Paketen aufrufbar sein .
  • Erstellen Sie einen Dokumentationskommentar, der die Methode und die Ein- und Ausgabeparameter dokumentiert,
public class Flugzeug {
      int passagiere;
      int MAX_PASSAGIERE;
   // Ab hier Methode und Dokumentationskommentar implementieren

} // Ende der Klasse Flugzeug
Niveau 1
Schwierigkeitsgrad mittel
Zeit 11 Minuten (1+1+5+4)

Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)

Antwort zu Frage 11: Vergleich der Syntax von Konstruktoren und normalen Methoden

  • Ein Konstruktor hat keinen Rückgabewert
  • Der Name eines Konstruktors ist immer identisch mit dem der Klasse

Antwort zu Frage 12: Dokumentationskommentare und Datenkapselung

public class Flugzeug {
   private  int passagiere;
   final    int MAX_PASSAGIERE;
 
   /**
   * n Passagiere steigen in ein Flugzeug ein. Bei Überschreiten
   *  der maximalen Kapazität wird allen Passagieren der Zutritt
   *  verwehrt
   * @param n Anzahl der zusteigenden Passagiere
   * @return Anzahl der Passagiere nach dem Zusteigen
   */
   public int einsteige(int n) {
     if (MAX_PASSAGIERE>=passagiere+n) passagiere +=n;
     return passagiere;
   }
}

Anonymous (not verified)

Sat, 12/06/2014 - 10:29

Der Code der Lösung ist Identisch mit dem in der Aufgabe, ist das gewollt?

javafrage

Sun, 12/07/2014 - 12:24

In reply to by Anonymous (not verified)

Danke. Die Musterlösung sollte jetzt stimmen.

Anonymous (not verified)

Sun, 12/20/2015 - 16:31

Müsste der Import Befehl in Klasse 1a nicht "import Paket2.*" lauten?