EPROG Tutorium #6 Philipp Effenberger

Slides:



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

der Universität Oldenburg
Objektorientierte Programmierung
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Konzepte objektorientierter Systeme
Kritische Betrachtung
Objektorientierte Programmierung
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Erweiterte Zuweisungskompatibilität
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 5 Sitzung 5: Polymorphismus.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Einführung in die OOP in Java
Programmieren mit JAVA
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.
Abstrakte Klassen DVG
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.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Informatikunterricht mit Java
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
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.
Grundlagen der Programmierung
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Tutorium PG Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben.
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Objektorientierte Programmierung
ac.at1 EPROG Tutorium #1 Philipp Effenberger Einführung in Java Schlüsselworte Datentypen.
EPROG Tutorium #4 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
EPROG Tutorium #3 Philipp Effenberger
Mittwoch Informatik II, 1. Teil
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
2 Datenabstraktion Geheimnisprinzip:
Java-Kurs Übung Besprechung der Hausaufgabe
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Abstrakte Klassen und das Interface-Konzept
Objektorientierte Programmierung mit JAVA. © Klasse Wie in C++ ist die Klasse das primäre Mittel um ein Entity abzubilden Die Eigenschaften.
C++ FÜR cOMPUTERSPIELENTWICKLER
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, SS Kapselung von Daten I Gründe für die Datenkapselung Datenkonsistenz leichtere.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
OOP II.
Einführung in die Programmierung mit Java
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Grundkurs Informatik mit Java
OO-Programmierung & Vererbung
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
Definition Felder Konstruktor Methoden Beispiel
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
 Präsentation transkript:

EPROG Tutorium #6 Philipp Effenberger Abstract Class Interface Unterschiede / Anwendung abstract class – interface Interface Comparable<Typ> Packages Wünsche? 10. Mai 2005 philipp_effenberger@web.de

Abstrakte Klassen Nur teilweise Implementation der Klasse Kann als „einheitliches“ Grundgerüst für Klassenhierarchien benützt werden (Verhalten, Eigenschaften) abstract class XYZ { … public abstract … methodenname(…) {} protected … methodenname(…) {…} } // abstract class XYZ Methoden ohne Körper! Nur Schnittstellendeklaration, alle abstrakten Methoden müssen in der erbenden Klasse implementiert werden  muss überschrieben werden! Konstruktor nicht aufrufbar Variablen können definiert/initialisiert werden (member und static member, z.B. Konstanten wie pi oder euler‘sche Zahl…) 10. Mai 2005 philipp_effenberger@web.de

Interfaces Interface = Spezifikation einer Klasse = Schnittstellen der Klasse = public Methoden eines Objekts Interface selbst ist keine Klasse Hintergrund der Implementierung unbekannt, relevant ist für Benützer nur, worauf zugegriffen werden kann. Ähnlich wie vollkommen abstrakte Klassen interface statt class oder abstract class Eine Klasse kann auch mehrere Interfaces implementieren (→ Mehrfachvererbung möglich!) Ein Interface selbst kann auch mehrere Interfaces implementieren interface name implements x, y, z { int… methodennamen(…){} … } //interface Ermöglichen es, Schnittstelle und Implementation sauber zu trennen 10. Mai 2005 philipp_effenberger@web.de

Interface – Abstract Class Unterschiede/Anwendung Abstract Class z.B.: Subklassen müssen Methoden unterschiedlich implementieren, aber auch einheitliche Methoden vorhanden Festlegung des [Ober]Typs eines Objektes (es wird immer ein speziellerer Untertyp verwendet) Variablen und Konstanten deklarierbar Methoden müssen abstract gekennzeichnet sein, da Implementierung auch möglich Interface z.B.: Mehrfachvererbung eine Klasse muss bestimmte Methode(n) implementieren Über Interface sind mehrere Subklassen ansprechbar private protected static final nicht erlaubt (ausser static final  Konstanten) Da alle Methoden abstract, ist Schlüsselwort nicht notwendig 10. Mai 2005 philipp_effenberger@web.de

Interface Comparable<Typ> Objekte müssen Methode compareTo(<Typ>) implementieren Beachte Transitivität und Symmetrie Eigenschaften class NumberObject implements Comparable<Integer> { int i = 0; public int comparaTo( Integer n ) { if( i > n.getValue() ) return –1; else if( i==n.getValue() ) return 0; else return 1; } // compareTo } // NumberObject Ohne Generizität (Typangabe<Typ>) muss wie bei equals gecastet werden Wird z.B. von Arrays.sort, SortedSet,… verwendet 10. Mai 2005 philipp_effenberger@web.de

Packages Packages fassen Klassen zu logischen Einheiten zusammen z.B.: java.lang.Math fasst alle mathematischen Klassen und Konstanten zusammen eprog.jar: EprogIO und EprogException Ähnlich wie Verzeichnisse im Dateisystem . (Punkt) als Trennzweichen zwischen Namen Entweder in echten Verzeichnissen oder in einer .jar-Datei Klasse wird zu Package mit package <packagename> hinzugefügt Mit import <package>.<class> wird eine einzelne Klasse aus einem Package importiert (mit * statt <class> gesamte Package; aber nicht rekursiv) Das Package java.lang muss nicht importiert werden 10. Mai 2005 philipp_effenberger@web.de

Wünsche? Vererbung Beispiele Datentypen dynamisch/statisch in Bezug zum Kompiler  Generizität super und Methodenüberdeckung (=welche Methode wird wann benützt bei Untertyp/Obertyp) 10. Mai 2005 philipp_effenberger@web.de