IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,

Slides:



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

der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Definition von Klassen in Java
Einführung in die Programmierung Zusammenfassung
Objektorientierter Entwurf
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
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
Abstrakte Klassen.
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Sebastian Grahn Sebastian Kühn
Einführung in die OOP in Java
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Packages Vortrag : Cornelia Hardt 23. November 1999.
Abstrakte Klassen DVG
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Klassen 02 - Klassen.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
05 - Reflection Das Reflection API Reflection2 Ziel Es kommt vor, dass eine Methode ein Objekt als Parameter übergeben bekommt, ohne dass bekannt.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Entwurfs- und Implementationsdiagramme
Einführung in die Programmierung
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
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 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
EPROG Tutorium #3 Philipp Effenberger
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
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. Thomas H. Kolbe Einführung in die Programmierung mit Java 14. 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.
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Abstrakte Klassen und das Interface-Konzept
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Tutorium Software-Engineering SS14 Florian Manghofer.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
OOP II.
Einführung in die Programmierung mit Java
Die Struktur einer Java-Klasse
Thema 4: Klassenbibliothek
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
Polymorphie Überschreiben
 Präsentation transkript:

IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default, friendly): Sichtbar innerhalb des Pakets  private: Sichtbar nur innerhalb der Klasse

IT2 – WS 2005/20062Nov 14, 2005 Pakete  CompilationUnit ::= [ „package“ Identifier ] { ImportStatement } ClassDeclaration

IT2 – WS 2005/20063Nov 14, 2005 Java-Syntax  Visibility ::= [ („public“ | „private“ | „protected“) ]  ClassDeclaration ::= [ „public“ ] „class“ Identifier „{“ { AttributeDeclaration } { ConstructorDeclaration } { MethodDeclaration } „}“  AttributeDeclaration ::= Visibility [„static“ ] [„final“ ] VariableDeclaration  ConstructorDeclaration ::= Visibility Classname „(“ [ ParameterList ] „)“ StatementBlock  MethodDeclaration ::= [„abstract“ ] Visibility [„static“ ] ( „void“ | Type ) Identifier„(“ [ ParameterList ] „)“ StatementBlock

IT2 – WS 2005/20064Nov 14, 2005 Abstract classes  ClassDeclaration ::= [ „public“ ] [ „abstract“ ] „class“ Identifier [ „extends“ Identifier ] „{“ { AttributeDeclaration } { ConstructorDeclaration } { MethodDeclaration } „}“  Von abstrakten Klassen können keine (unmittelbaren) Objekte erzeugt werden.  Eine abstrakte Klasse gibt eine allgemeine Schnittstelle für ihre Unterklassen vor.  Von den Unterklassen können Objekte erzeugt werden.  Eine abstrakte Klasse kann auch einen Teil der Implementierung vorgeben.

IT2 – WS 2005/20065Nov 14, 2005 Interfaces  InterfaceDeclaration ::= „interface“ Identifier „{“ { ConstantDefinition } { ConstructorDefinition } { MethodDefinition } „}“  Interfaces sind spezielle abstrakte Klassen, die keinerlei Implementierung enthalten.  Sie definieren nur eine allgemeine Schnittstelle für ihre Unterklassen.  Alle Definitionen in einem Interface sind automatisch public.

IT2 – WS 2005/20066Nov 14, 2005 Interfaces  ConstantDefinition ::= Type Identifier „=“ Expression „;“  ConstructorDefinition ::= Classname „(“ [ ParameterList ] „);“  MethodDefinition ::= ( „void“ | Type ) Identifier „(“ [ ParameterList ] „);“

IT2 – WS 2005/20067Nov 14, 2005 Interfaces  Unterklassen von Interfaces werden nicht mit extends sondern mit implements gekennzeichnet.  Eine Klasse kann Unterklasse von nur einer anderen Klasse, aber von beliebig vielen Interfaces sein.  ClassDeclaration ::= [ „public“ ] [ „abstract“ ] „class“ Identifier [ „extends“ Identifier ] [ „implements“ Identifier { „,“ Identifier } ] „{“ { AttributeDeclaration } { ConstructorDeclaration } { MethodDeclaration } „}“

IT2 – WS 2005/20068Nov 14, 2005 Gruppieren von Objekten in Sammlungen  Viele Anwendungen enthalten Sammlungen von Objekten: Adressbücher Bibliothekskatalog Kalender …  Auffinden von Elementen  Die Anzahl der zu verwaltenden Elemente verändert sich über die Zeit. Elemente hinzufügen. Elemente löschen.

IT2 – WS 2005/20069Nov 14, 2005 Beispiel: Notizbuch  Notizen können gespeichert werden.  Einzelne Notizen können angezeigt werden.  Notizen können gesucht werden.  Notizen können gelöscht werden.  Die Anzahl der Notizen ist nicht begrenzt.  Die Anzahl der Notizen kann abgefragt werden.

IT2 – WS 2005/200610Nov 14, 2005 Verwenden Bibliotheksklassen  Sammlungen von brauchbaren Klassen.  Wir brauchen nicht alles aufs Neue zu entwickeln.  Java nennt ihre Bibliotheken Pakete (packages).  Objekte zu gruppieren ist immer wieder notwendig. Das Paket java.util enthält Klassen, um dies zu tun: z.B. Collection

IT2 – WS 2005/200611Nov 14, 2005 Objektstrukturen mit Sammlungen

IT2 – WS 2005/200612Nov 14, 2005 Ein drittes Element einfügen

IT2 – WS 2005/200613Nov 14, 2005 Eigenschaften einer Sammlung  Sie kann ihre Kapazität bei Bedarf vergrößern.  Sie führt Buch über die aktuelle Anzahl der Elemente ( size() accessor).  Details, wie dieses implementiert ist, sind verborgen (hidden). Es reicht uns, wenn wir die Klasse schlicht und einfach benutzen können.

IT2 – WS 2005/200614Nov 14, 2005 Eine Sammlung durchlaufen public void notizenAusgeben() { for(Notiz note : notizen) { note.print(); }

IT2 – WS 2005/200615Nov 14, 2005 Bibliotheksklassen  Benutzen von Bibliotheksklassen  Dokumentation lesen  Dokumentation schreiben 1.0

IT2 – WS 2005/200616Nov 14, 2005 Die Java-Bibliothek  Besteht aus tausenden von Klassen  Zehntausende Methoden  Viele nützliche Klassen machen das Leben viel leichter  Ein kompetenter Java-Programmierer muss mit Bibliotheken arbeiten können.

IT2 – WS 2005/200617Nov 14, 2005 Umgang mit der Bibliothek Sie sollen:  einige der wichtigsten Klassen der Bibliothek namentlich kennen.  wissen, wie Sie die anderen Klassen anlesen können.  Wir müssen nur die Schnittstelle (interface) kennen, nicht die Implementierung.

IT2 – WS 2005/200618Nov 14, 2005 Klassendokumentation lesen  Dokumentation der Java- Bibliothek in HTML format;  Lesen in einem Web Browser  Class API: Application Programmers’ Interface  Schnittstellen-Beschreibung aller Bibliotheksklassen

IT2 – WS 2005/200619Nov 14, 2005 Schnittstellen vs Implementierungen  Die Dokumentation enthält die Schnittstelle (interface) der Klasse den Namen der Klasse eine allgemeine Beschreibung des Zwecks der Klasse eine Liste der Konstruktoren und Methoden der Klasse die Parameter und Ergebnistypen für jeden Konstruktor und jede Methode eine Beschreibung des Zwecks jedes Konstruktors und jeder Methode

IT2 – WS 2005/200620Nov 14, 2005 Schnittstellen vs Implementierungen  Die Dokumentation enthält nicht private Datenfelder (die meisten Datenfelder sind private) private Methoden die Rümpfe (Quelltext) jeder Methode d.h. die Implementierung der Klasse

IT2 – WS 2005/200621Nov 14, 2005 Benutzung von Bibliotheksklassen  Klassen der Bibliothek müssen mittels einer import-Anweisung importiert werden. (Ausnahme: Klassen von java.lang).  Sie können wie Klassen vom aktuellen Projekt benutzt werden.