1 / 15

Packages

Packages. Vortrag : Cornelia Hardt 23. November 1999. Einleitung. Packages sind nützlich, um die Komplexität großer Programme in den Griff zu bekommen. Ein Package enthält eine Anzahl von Klassen, die irgendwie miteinander zusammenhängen.

bella
Télécharger la présentation

Packages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Packages Vortrag : Cornelia Hardt 23. November 1999

  2. Einleitung • Packages sind nützlich, um die Komplexität großer Programme in den Griff zu bekommen. • Ein Package enthält eine Anzahl von Klassen, die irgendwie miteinander zusammenhängen. • Beispielsweise enthält das Bibliothekspackages java.awt Methoden zum Bereiteitstellen von Schaltflächen und zum Zeichnen grafischer Bilder. • So wie eine Klasse verwandte Daten und Methoden zusammenfaßt, faßt ein Package eine Gruppe von verwandter Klassen zusammen.

  3. Vereinbarungen • Der Name eines Packages wird nach den selben Regeln wie Variablen-, Klassen- und Methodennamen vergeben. • Vereinbarungsgemäß beginnt der Name eines Packages mit einem Kleinbuchstaben. • Klassen, die ein Package bilden, stehen in einem eigenen Verzeichnis. • Der Verzeichnisname sollte der selbe wie der Packagename sein. • Der Packagename wird am Anfang aller Klassen in einer package-Anweisung festgelegt.

  4. Beispiel: Stream • Sämtliche Klassen - writematrix, writeobject, readmatrix, readobject, readurl,testlinereader, copy, copyb, type, typeb - werden in ein package zusammengefaßt. • Alle Klassen werden in dem Verzeichnis dvg2/ioprogramme gespeichert. • Dann wird am Kopf jeder Klasse die Zeile : - package ioprogramme; ´eingefügt.

  5. Beispiel package ioprogramme; import java.io.*; public class ReadObject { public static void main (String [] args) throws IOException, ClassNotFoundException { File inFile = new File("Object.dat"); ...

  6. Programm zur Überprüfung ob es auch funktioniert: import ioprogramme.*; import java.io.*; public class test { public static void main (String [] args) throws IOException { //ioprogramme.type.main(args); type.main(args); } }

  7. Dieses Programm greift auf die main-Methode des Programmes type zu. • Dazu benötigt es im Kopf die Anweisung import. packagename ; • Es wird folgender Maßen aufgerufen werden: ...\dvg2>java test test.java • Das Programm type hat die Funktion des lesens einer Datei. Beim obigen Aufruf wird der Programmtext des Programms test ausgegeben.

  8. Package und import • Wenn eine andere Klasse eine Klasse aus einem Package verwenden möchte, benötigt sie in ihrem Kopf die import-Anweisung. - import pName.Klassenname; • Wenn eine Klasse alle Klassen innerhalb des Packages verwenden muß, kann eine Kurzdeklaration gemacht werden. -import pName.* ;

  9. Zusammenfassung • Verwandte Klassen werden in einem Package zusammengefaßt. • Ein Package-Name fängt mit einem Kleinbuchstaben an. • Eine package-Anweisung im Kopf einer Klasse enthält den Namen des Packages, dem die Klasse angehört. • Alle Klassen eines Packages stehen im selben Verzeichnis, aber in unterschiedlichen Dateien. • Der Verzeichnisname sollte dem Package-Namen entsprechen. (--> Dateiname entspricht Klassenname)

  10. Einige Package des JDK

  11. Zugriffsrechte zu Attributen

  12. Package Anderes Package Nicht-abgeleiteteKlasse Abgeleitete Klasse Abgeleitete Klasse Nicht- abgeleitete Klasse Klasse none protected private public

  13. Packages importieren • set CLASSPATH=PATH1;PATH2;...PATHN; • Im Programm:import dir1.dir2...dirn.classname; • Es wird das erste Class-FilePATH1\dir1\dir2\...\dirn\classname.classPATH2\dir1\dir2\...\dirn\classname.class...PATHN\dir1\dir2\...\dirn\classname.classimportiert das gefunden wird

  14. Packages compilieren • Im Programm enthaltenpackage dir1.dir2...dirn;...class classname { • Übersetzungskommando:javac –d PATHI classname.java • Es wird das ClassfilePATHI\dir1\dir2\...\dirn\classname.classerzeugt

More Related