Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 14. Vorlesung WS 2001/2002.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 14. Vorlesung WS 2001/2002."—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 14. Vorlesung WS 2001/2002

2 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/022 Übersicht Pakete: Organisation von Projekten / Klassenbibliotheken –Definition und Verwendung von Paketen –Zugriffsrechte und –beschränkungen Das Schlüsselwort final Listen und Mengen (Collections) –Iteratoren

3 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/023 Pakete (engl. Packages) Ein Paket stellt eine Klassenbibliothek mit einem Namen dar. Pakete dienen zur Strukturierung von Programmen oberhalb von Klassen. Jedes Paket bildet einen eigenen Namensraum –Innerhalb eines Namensraumes dürfen keine gleichnamigen Klassen existieren –ergo: in unterschiedlichen Paketen dürfen identische Namen für Klassen vergeben werden. Pakete bilden eigene Bereiche für den Zugriffsschutz

4 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/024 Struktur von Paketen Paket entspricht Verzeichnis (analog: Klasse  Datei) Gleicher Name für Paket und Verzeichnis Unterverzeichnisse werden durch Punkt "." verbunden –Beispiel: Paket java.io entspricht Verzeichnis java\io Ein Paket wird definiert, indem alle Dateien des Pakets am Dateianfang mit der Deklaration des Paketnamens versehen werden –Syntax: package ; –Beispiel: package mein_eigenes_Paket;

5 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/025 Beispiel für Pakete: java.util im Java Developer Kit (JDK) vordefiniertes Paket; beinhaltet u.a. Klassen für –Container-Klassen wie Vector, List, Mengen etc. –Arrays –Datums- und Zeitberechnungen Paketname: java.util befindet sich im Verzeichnis...\java\util Erster Befehl in allen Quelltextdateien des Pakets: package java.util; Der vorangestellte Verzeichnispfad wird über die Umgebungsvariable CLASSPATH festgelegt.

6 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/026 Verwendung von Paketen Zugriff auf Klassen im selben Paket: problemlos ohne besondere Kennzeichnung Zugriff auf Klassen in anderem Paket: Paketname vor Klassenname: java.util.LinkedList oder import java.util.LinkedList bzw. import java.util.* und Zugriff über Klassennamen LinkedList

7 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/027 Das Default-Paket Alle Klassen in Verzeichnissen, die im Forté Explorer unmittelbar verbunden sind, gehören zum sog. Default-Paket hier sind weder package- noch import-Anweisungen nötig –In einer Klasse des Default-Pakets kann ohne besondere Kennzeichnung auf alle anderen Klassen des Default-Pakets zugegriffen werden (z.B. bei der Erzeugen von Objekten mittels new )

8 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/028 Vordefinierte Pakete Alle zum Java Developer Kit (JDK) gehörenden Klassen sind in Paketen untergebracht. In Java sind sehr viele nützliche Pakete im Sinne von Standardbibliotheken vordefiniert z.B. für Listen, Suchstrukturen, Benutzeroberflächen, Graphik, Ein- und Ausgabe etc. Übersicht: Öffnen der Startdatei der JDK-Dokumentation c:/Programme/jdk1.3.1/docs/api/index.html c:/Programme/jdk1.3.1/docs/api/index.html

9 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/029 Das Standard-Paket Import des sogenannten Standard-Pakets java.lang nicht erforderlich dieses Paket enthält z.B. die Klassen String Math System Object

10 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0210 Zugriffsspezifikationen I Zugriffsspezifikation regeln welche Klassen, Attribute und Methoden wo verwendet werden können. Schlüsselwörter public, protected, private wird keine Zugriffsspezifikation angegeben, gilt der default-Modus friendly Differenziert für Klassen, Methoden, und Attribute Wichtiges Konzept der Objektorientierung: Geheimnisprinzip: Verbergen von Details der Implementierung, Zugriff nur über klar definierte Schnittstellen

11 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0211 Zugriffsspezifikationen II public: Zugriff von allen Klassen protected: Zugriff von Klassen im selben Paket, auch Zugriff von Unterklassen in anderen Paketen friendly: Zugriff von Klassen im selben Paket, Zugriff nicht von Unterklassen in anderen Paketen private: Zugriff nur innerhalb derselben Klasse geheimer

12 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0212 Das Schlüsselwort final Variablen mit vorangestelltem final sind Konstanten, d.h. sie dürfen nicht verändert werden Beispiel: final double PI = 3.141529; Methoden mit vorangestelltem final dürfen nicht überlagert werden (kein Polymorphismus, effizienter) Klassen mit vorangestelltem final dürfen keine Unterklassen haben (kein Polymorphismus, effizienter) Beispiel: public final class String.....

13 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0213 Listen und Mengen: vordefinierte Containerklassen AbstractCollection Set TreeSetHashSetLinkedListArrayList sortiert keine Duplikate AbstractMap Map TreeMapHashMap sortiert Einfache Container-DatenstrukturenAssoziative Datenstrukturen

14 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0214 Laufzeiten / Komplexität const.(mittel)const.HashMap O(log n) TreeMap const. (mittel)const.HashSet O(log n) TreeSet O(n)const.LinkedList/ ArrayList Suchen mit KeySuchenEinfügen/ Löschen Klasse

15 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0215 Listen/Mengen: gemeinsame Methoden Hinzufügen: boolean add(Object o) Suchen: boolean contains(Object o) Holen: Object get(int index) Größe: int size() Löschen: boolean remove (Object o) Löschen der ganzen Liste/Menge: boolean clear()

16 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0216 Listen/Mengen: Iteratoren dienen zum sequentiellen Durchlaufen Aufruf der Methode iterator() liefert ein Iterator-Objekt Methoden von Iterator: boolean hasNext() Object next() Beispiel: LinkedList ll = new LinkedList(); //... Liste mit Werten füllen Iterator it = ll.iterator(); while(it.hasNext()) { Object o = it.next(); System.out.println(o); }

17 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0217 Ende der Vorlesung Vorlesung ist zu Ende, aber Java nicht abschließend besprochen. Unbehandelte Konzepte: –Schnittstellen (engl. Interfaces) u.a. für Mehrfachvererbung –Geschachtelte Klassen, anonyme Klassen –Nebenläufigkeit (quasi-Parallelverarbeitung) mittels Threads –Grafikfähigkeiten von Java, Realisierung grafischer Benutzeroberflächen –Java innerhalb von WWW-Seiten: Applets Vorschlag: Betrachtung bestimmter Bereiche im Rahmen einer Java-AG im Sommersemester 2002 –Termin wird am Schwarzen Brett ausgehängt


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 14. Vorlesung WS 2001/2002."

Ähnliche Präsentationen


Google-Anzeigen