Zusammenfassung des Kapitels 8

Slides:



Advertisements
Ähnliche Präsentationen
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
Objektorientierte Programmierung
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Konzepte objektorientierter Systeme
Anwendungen des OODM auf die ADB / NDB
Klassen in Java.
„Such-Algorithmen“ Zusammenfassung des Kapitels 11
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Konstruktoren.
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Dynamische Webseiten Java servlets.
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
Abstrakte Klassen DVG
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Einführung in Java1 Einführung in JAVA.
Abstrakte Klassen, Interface
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
04 - Actions Actions Actions 2 Motivation In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt. Häufig werden.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
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.
Rekursive Funktionen (Fakultät)
OO implementieren Teil IV Objekte erzeugen. © René ProbstModul 226IV - 2 Von der Klasse zum Objekt Plan Bau Objekt Klasse Instanzierung Objekt Das Objekt.
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Die Klasse String und ihre Methoden
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Lind 02/2005 Einführung in JAVA. Lind 02/2005 Beispiel: Mittelwert Es soll ein Programm erstellt werden, das den Mittelwert zweier reeller Zahlen berechnet.
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Mit der Turtle Java Programmieren
Cäsar-Verschlüsselung
Grundkurs Informatik mit Java
Mit Java die Turtle steuern
Cäsar-Verschlüsselung
 Präsentation transkript:

Zusammenfassung des Kapitels 8 „ Höhere objektorientierte Konzepte“ Zusammenfassung des Kapitels 8 Küchlin, Weber, Einführung in die Informatik, 3.Auflage Marc-Oliver Pahl, 25.1.2004 W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -1- Springer-Verlag, ISBN 3-540-20958-1

private static int counter private int myId Vererbung Id private static int counter private int myId public Id() public int getId() public class Id { private static int counter = 1; private int myId; public Id(){ myId = counter++; } public int getId(){ return myId; } } public class Label extends Id { private String name; public Label() { // super(); // -> Id(); implizit! name = "unknown"; } public Label(String val) { name = val; public String getName(){ return name; Label private String name public String getName() W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -2- Springer-Verlag, ISBN 3-540-20958-1

private static int counter private int myId Vererbung Id private static int counter private int myId public Id() public int getId() Die Methoden der Klasse Id, von der geerbt wird, sind in Label auch automatisch vorhan-den! Label private String name public String getName() public class Main { public static void main(String[] args) { Label myLabel = new Label("as2004"); System.out.println( “Das Gerät“ + myLabel.getName() + “hat die Id“+ myLabel.getId()); } W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -3- Springer-Verlag, ISBN 3-540-20958-1

Vererbung/ Sichtbarkeit Id private static int counter private int myId public Id() public int getId() public class Id { ... private int myId; } geht NICHT, da das Feld private ist! public class Label extends Id { ... public Label(String val) { name = val; super.myId = 0; //hier:  myId = 0; } Label private String name public String getName() W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -4- Springer-Verlag, ISBN 3-540-20958-1

Vererbung/ Sichtbarkeit Id private static int counter protected int myId public Id() public int getId() public class Id { ... private int myId; } geht, da das Feld protected ist! public class Label extends Id { ... public Label(String val) { super(); name = val; super.myId = 0; //hier:  myId = 0; } Label private String name public String getName() W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -5- Springer-Verlag, ISBN 3-540-20958-1

Vererbung/ Sichtbarkeit Id private static int counter protected int myId public Id() public int getId() public class Id { ... private int myId; } public class Label extends Id { ... public Label(String val) { super(); name = val; super.myId = 0; // NICHT = myId = 0; myId = 23; } Label private String name private int myId public String getName() W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -6- Springer-Verlag, ISBN 3-540-20958-1

virtuelle Funktionen/ Überschreiben public class Parent { public void method(){ System.out.println("Methode des Parent."); } public class Child extends Parent { public void method(){ System.out.println("Methode des Child."); } public class Main { public static void main(String[] args) { Parent eins = new Parent(); Parent zwei = new Child(); eins.method(); zwei.method(); } W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -7- Springer-Verlag, ISBN 3-540-20958-1

virtuelle Funktionen/ Überschreiben/ final public class Parent { public final void method(){ System.out.println("Methode des Parent."); } public class Child extends Parent { public void method(){ System.out.println("Methode des Child."); } public class Main { public static void main(String[] args) { Parent eins = new Parent(); Parent zwei = new Child(); eins.method(); zwei.method(); } W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -8- Springer-Verlag, ISBN 3-540-20958-1

ADT/ Interfaces/ Selektoren Kundenklasse public class Main { public static void main(String[] args){ ZahlenSpeicher z1 = new ZahlenSpeicher1(); ZahlenSpeicher z2 = new ZahlenSpeicher2(); z1.setValue(7); z2.setValue(8); System.out.println("z1+z2="+(z1.getValue()+z2.getValue())); }} Schnittstelle/ Interface public interface ZahlenSpeicher { public int getValue(); public void setValue(int val);} interne Repräsentation/ Implementierung public class ZahlenSpeicher1 implements ZahlenSpeicher { private int theValue = 0; public int getValue(){ return theValue; } public void setValue(int val){ theValue = val; } } public class ZahlenSpeicher2 implements ZahlenSpeicher { private String theValue; public int getValue(){ return Integer.parseInt(theValue); } public void setValue(int val){ theValue = Integer.toString(val); } } W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -9- Springer-Verlag, ISBN 3-540-20958-1

generisches Programmieren Stichwort: Muster in C++ in Java template<class T> class Node{ private: T data; Node* next; public: T getData(); ... } public static void inc(ZahlenSpeicher z){ z.setValue(z.getValue()+1); } Funktioniert „generisch“ für alle beliebigen Implementierungen des Interface ZahlenSpeicher W. Küchlin, A. Weber: Einführung in die Informatik – objektorientiert mit Java -10- Springer-Verlag, ISBN 3-540-20958-1