15
Packages Vortrag : Cornelia Hardt 23. November 1999

Packages

  • Upload
    bella

  • View
    27

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Packages

Packages

Vortrag : Cornelia Hardt

23. November 1999

Page 2: Packages

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.

Page 3: Packages

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.

Page 4: Packages

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.

Page 5: Packages

Beispiel

package ioprogramme;import java.io.*;

public class ReadObject{

public static void main (String [] args) throws IOException, ClassNotFoundException{ File inFile = new File("Object.dat");...

Page 6: Packages

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);

}}

Page 7: Packages

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.

Page 8: Packages

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.* ;

Page 9: Packages

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)

Page 10: Packages

Einige Package des JDK

java.applet Enthält die Klasse Applet und drei Schnittstellen. Diesedienen als Schnittstellen zwischen einem Applet und demBrowser oder Appletviewer.

java.awt Enthält die GUI-Klassen sowie Klassen zum Laden vonGrafiken, Drucken und Ausgeben von grafischenElementen.

java.awt.event Behandlung von Ereignissen von AWT-Komponentennach dem neuen Event-Modell.

java.awt.image Klassen-und Schnittstellensammlung zur Bildbearbeitungjava.io Lesen und Schreiben von Daten.

java.lang Die klassen dieses Packages werden implizit in jede Java-Applikation und in jedes Applet eingebunden. Enthaltensind die Klasse Object, die Wurzel aller Klassen ist, undKlassen zum Erstellen und Verwalten von Threads sowiedie erweiterten Datentypen.

Page 11: Packages

java.math Zwei Klassen mit erweiterten Möglichkeiten zurBerechnung von Zahlen. Normalerweise berechnet manZahlen mit Methoden aus java.lang.Math.

java.text Bestimmung und Formatieren von Zahlen, Zahlen-,Währungs- und Datumsformaten sowie Ermittlung vonTextbegrenzungen.

java.util Enthält Tools zum Umwandeln von Zahlen-,Währungs- undDatumsformaten, zum Erstellen von Datenstrukturen unddie Basisklassen zum Event-Handling.

Page 12: Packages

Zugriffsrechte zu AttributenAttribut Wer hat Zugriff?

public Alle Objekte

private Nur das Objekt der Klasse in der das Attribute definiert ist

protected Nur Objekte abgeleiteter Klassen und von Klassen des selben Packages

Alle Objekte von Klassen die zum selben Package gehören

Page 13: Packages

Package Anderes Package

Nicht-abgeleiteteKlasseAbgeleitete

Klasse

Abgeleitete Klasse

Nicht-

abgeleitete

Klasse

Klasse

private

public

none

protected

Page 14: Packages

Packages importieren

set CLASSPATH=PATH1;PATH2;...PATHN; Im Programm:

import dir1.dir2...dirn.classname; Es wird das erste Class-File

PATH1\dir1\dir2\...\dirn\classname.classPATH2\dir1\dir2\...\dirn\classname.class...PATHN\dir1\dir2\...\dirn\classname.classimportiert das gefunden wird

Page 15: Packages

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