Programmieren I - Dokumentation mit javadoc - IAI

Werbung
Programmieren I
Java Packages
Institut für Angewandte Informatik
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
www.kit.edu
Java Packages – Programme strukturieren
Mittels Paketen (engl: packages) können und die Klassen
von unterschiedlichen Aufgaben strukturiert werden.
In einem Paket kann eine Gruppe von thematisch
zusammengehörigen Klassen zusammengefasst werden.
Diese Klassen befinden sich dann (normalerweise) in
einem gemeinsamen Verzeichnis.
Der Name des Verzeichnisses ist gleich dem
Paketnamen.
Bildquelle: http://publicdomainvectors.org
2
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Pakete deklarieren
Beispiel:
package goodies;
public class Chocolate {
}
Die Klasse, die in dieser Datei implementiert wird, gehört
zum Paket goodies.
Diese Zugehörigkeit wird durch die package–Anweisung
(mit Schlüsselwort package) ausgedrückt.
Verzeichnisstruktur:
3
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Pakete importieren (1)
Wenn in einem anderen Paket nun eine Klasse dieses Pakets
genutzt werden soll, kann vor dem Klassennamen der Name des
Pakets angegeben werden, z.B. goodies.Chocolate.
Alternativ kann der Compiler mit einer import-Anweisung auf
das Paket der Klasse hingewiesen werden.
Die Klasse kann dann einfach mit dem Klassennamen (d.h. ohne
Angabe das Paketnamens) in der Datei referenziert werden:
package treat;
package goodies;
public class Chocolate {
import goodies.Chocolate;
}
class ChocolateBunny {
Chocolate choc; // sonst goodies.Chocolate
}
4
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Pakete importieren (2)
Damit nicht alle genutzten Klassen eines Pakets einzeln
aufgeführt werden müssen, lässt sich mit dem Stern (“*”)
als einer Art Wildcard auf alle public-Klassen des Pakets
hinweisen.
Davon machen z.B. Programme mit grafischer
Benutzeroberfläche häufig Gebrauch.
Dort steht dann oft:
import javax.swing.*;
5
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Paket-Hierarchien
Pakete lassen sich in Hierarchien anordnen.
(hauptpaket.unterpaket etc.).
Die Pakethierarchie spiegelt sich dann auch in der
Verzeichnisstruktur des Dateisystems wider.
In einem Paket können mehrere Unterpakete liegen.
Man beachte bei der import-Anweisung:
Mit der Anweisung
import hauptpaketname.*;
werden nicht automatisch auch die Klassen
der Unterpakete mit eingebunden.
Die import-Anweisung bezieht sich nur auf ein (Hauptbzw. Unter-)Paket und schließt dessen Unterpakete nicht
mit ein.
6
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Konvention für Paketnamen
Paketnamen werden per Konvention komplett klein
geschrieben, um eine gute Unterscheidbarkeit zu
Klassennamen zu erreichen.
Beispiele für Pakete in der API:
java.io
java.lang
// wird automatisch importiert
java.util
java.util.concurrent
…
de.dhbwka.programmieren
7
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Vorschlag: Projekt-/Paket-Struktur für
Übungsaufgaben
Ein Projekt in der IDE für sämtliche Übungsaufgaben
Pro Aufgabe ein Package
Vorschlag:
de.dhbwka.java.exercise.jeweilige_aufgabe
 steht so auch auf den Übungsblättern
8
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Herunterladen
Explore flashcards