Konzepte der objektorientierten Programmierung

Slides:



Advertisements
Ähnliche Präsentationen
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
Objektorientierung Auffassung der Software als eine Sammlung
Harald Köbler Software Design Patterns Prototype.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Konzepte objektorientierter Systeme
B-Bäume.
Warum Objektorientierung?
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierter Entwurf (OOD) Übersicht
Objektorientierte Programmierung mit Java unter BlueJ
Objektorientierte Geschäftsprozessmodellierung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
DOM (Document Object Model)
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Gliederung der Vorlesung Software Engineering WS 2001/2002
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Mathematische Grundlagen
Diskrete Mathematik I Vorlesung Arrays-
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.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)
Programmiermethodik SS 10 Prof. Albert Zündorf
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR.
Dependents, Publish-Subscribe, Listener
Entwurfsmuster EDV Entwurfsmuster.
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
Grundkurs Informatik Jahrgang 10 Der Grundkurs der Jahrgangsstufe 10 bereitet den an den Vorgaben für das Zentralabitur ausgerichteten Unterricht in der.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Organisatorisches Vorlesungstermine: –dienstags, 14:00h, A125 –freitags,
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Kollektionen in Java Aufzählungstypen, Generische Typen
Objektorientierte Programmierung
Listen Klaus Becker KB Listen 2 Listen Ansgar A., Speyer Claudia B., Koblenz Knut B., Neustadt Annett B., Wörrstadt Stefani D., Bad Ems Jochen F.,
Grundkonzepte der objektorientierten Programmierung Teil 3
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
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 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Grundkonzepte der objektorientierten Programmierung
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Objektorientierte Programmierung
Objektorientierung.
Objektorientierte Modellierung mit UML
Von Sven, Tobias und Philippe. Inhalt: 1.Geschichte 2.Grundkonzepte der Sprache 3.Anwendungsarten 4.Ähnliche Programmiersprachen 5.Konkrete Beispiele.
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
Unified Modeling Language UML
Software Design Patterns
Einführung in die Programmierung mit Java
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Objektorientierte (OO) Programmierung
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Neukonzeptionierung des SVNCheckers > Malte Legenhausen > DLR > Folie 1 Observer - Pattern Malte Legenhausen, Robert Werschnitzke Asea Brown.
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
Informatik Softwareentwicklung – 4.3 Entwurfsmuster
 Präsentation transkript:

Konzepte der objektorientierten Programmierung Klaus Becker 2003

Objektorientierung Paradigma; Denkstil; Philosophie Abstrakte Klassen Grundkonzepte ... Vererbung Abstrakte Klassen Polymorphie Entwurfsmuster Modellierungssprache: UML Implementierung: Delphi, Java, ...

Teil 1 Vererbung

Klassen mit ähnlicher Struktur Klassenvergleich ChuckALuck Roulett Klassen mit ähnlicher Struktur

Oberklasse „Zufallsgeraet“

Unterklasse „Wuerfel“

Aufgabe Ändern Sie das Chuck-A-Luck-Programm (z. B. ChuckALuck2) so ab, dass die Klasse Wuerfel eine Unterklasse der Klasse Zufallsgeraet darstellt.

Teil 2 Abstrakte Klassen Polymorphie

Abstrakte Klassen Abstrakte Klassen repräsentieren häufig einen Allgemeinbegriff. Von einer abstrakten Klasse werden nie Objektexemplare erzeugt. Sie ist bewusst unvollständig konzipiert und bildet die Basis für Unterklassen, die dann Exemplare haben können.

Polymorphie Polymorphie: Vielgestaltigkeit Eine Operation (hier „werfen“) kann in Unterklassen ganz unterschiedlich ausgestaltet werden.

Chuck a Luck mit abstrakten Würfeln Zur Compilierzeit kann noch nicht festgelegt werden, wie die Operation „werfen“ ausgeführt wird.

Späte Bindung Erst zur Laufzeit steht fest, welche Objekte am Spiel beteiligt sind und damit, wie die Operation „werfen“ ausgeführt wird.

Aufgabe Erstellen Sie ein Chuck-A-Luck-Programm mit gezinkten Würfeln.

Teil 3 Beobachtermuster

MVC model view2 ? ? view1

Bisher: Koordinator-Situation Form1 als „Koordinator“: Das Objekt Form1 setzt zunächst das Spiel in Gang und veranlasst anschließend die Ausgabe der relevanten Daten.

Ziel: Beobachter-Situation model view1 view2 Informiert über eine Änderung Holt relevanten Daten

Beobachter-Situation model view1 view2 Informiert über eine Änderung Holt relevanten Daten Das model-Objekt soll in der Lage sein, andere Objekte – sog. Beobachter-Objekte – über eine Zustandsänderung zu informieren, ohne dabei Annahmen darüber treffen zu müssen, wer diese Beobachter-Objekte sind (lose Kopplung).

Beobachter-Muster Observable: - kennt seine Beobachter (werden alle in Liste aufgenommen) - bietet Operationen zum An- und Abmelden von Beobachtern an - mit notifyObservers werden alle Beobachter aufgefordert, die Operation update auszuführen

Beobachter-Muster Wuerfel: - bei jeder Zustandsänderung (hier: werfen) wird die Operation notifyObservers aufgerufen

Beobachter-Muster Observer: - legt eine Aktualisierungsschnittstelle abstrakt fest

Beobachter-Muster WuerfelBeobachter1: - kennt das zu beobachtende Objekt (hier: Wuerfel-Objekt) Holt sich hier die anzuzeigenden Daten - kennt das zu informierende Anzeigeobjekt

Beobachter in Aktion

Literaturhinweise Helmut Balzert: Lehrbuch Grundlagen der Informatik. Spektrum Ak. Verlag 1999. Heide Balzert: Lehrbuch der Objektmodellierung. Spektrum Ak. Verlag 1999. Bernd Oestereich: Objektorientierte Softwareentwicklung. Oldenbourg 1998. Erich Gamma u. a.: Entwurfsmuster. Addison-Wesley 1996. Siegfried Spolwig: Objektorientierung im Informatikunterricht. Dümmler-Verlag 1997. http://hsg.region-kaiserslautern.de/Informatik/MVC/mvc.html (Unterrichtsmaterialien von K. Merkert)