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.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
der Universität Oldenburg
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
Java: Grundlagen der Sprache
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Java: Grundlagen der Objektorientierung
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 9. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Diskrete Mathematik I Vorlesung Arrays-
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Programmieren mit JAVA
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Klassen und Objekte
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Grundlagen der Informatik 1
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
EPROG Tutorium #3 Philipp Effenberger
Programmiervorkurs WS 2014/15 Instanzmethoden
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Java-Kurs Übung Besprechung der Hausaufgabe Listen und Mengen Komplexitäten Iteratoren (Durchlaufen von Listen/Mengen)
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 11. Vorlesung WS 2002/2003.
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003 Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger,
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 9. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 10. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Zufall in Java Zwei Möglichkeiten.
Einführung in die Programmierung mit Java
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Einführung in die Programmierung mit Java
Thema 4: Klassenbibliothek
Klassenbibliotheken: Einbinden und Benutzen von Klassen
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
 Präsentation transkript:

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

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

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

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;

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.

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

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 )

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

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

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

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

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

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

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

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

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

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