Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Warum Objektorientierung? Hauptprobleme der industriellen Softwareentwicklung:

Ähnliche Präsentationen


Präsentation zum Thema: "Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Warum Objektorientierung? Hauptprobleme der industriellen Softwareentwicklung:"—  Präsentation transkript:

1 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Warum Objektorientierung? Hauptprobleme der industriellen Softwareentwicklung: –Beherrschung der Komplexität –Wartbarkeit –Wiederverwendung (Ökonomie der Softwareentwicklung) Objektorientierte Programmierung: –bietet Lösungsansätze für obige Hauptprobleme –bietet natürlichen Übergang von Problemformulierung zum Programm »objektorientierte Modellierung in Systemanalyse und Design –paßt zu graphischen Oberflächen und verteilten Systemen (Internet!) aber: –erfordert völlig anderes Denken als klassisches prozedurales Programmieren

2 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Programmierparadigmen Maschinennahe Programierung: –Sprungbefehle (GO TO), Adressierung auf Speichereben Prozedurale (strukturierte) Programmierung: –Verwendung von IF, WHILE und Unterprogrammen Modulare Programmierung: –Zusammenfassung von Unterprogrammen und Datentypen in geschlossene Einheiten Objektorientierte Programmierung –Programm als Gemeinschaft kooperierender Einheiten –Methoden (lokale Operationen auf Dateneinheiten) statt Prozeduren Komponentenorientierte Programmierung: –Programm zusammengesetzt aus vorgefertigten Bausteinen Delphi: –ermöglicht alle Programmierparadigmen und deren Mischung

3 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Verantwortungsbereiche Sachbearbeiter in einem Betrieb oder einer Behörde –Ist unter definierter Adresse/Telnr. erreichbar. (Identität) –Hat genau definierten Zuständigkeitsbereich –Bearbeitet genau definierte Einzelaufgaben –Verfügt über spezielles Wissen bzw. spezifische Information –Bearbeitet komplexe Geschäftsvorfälle in Zusammenarbeit mit anderen Sachbearbeitern Software-Sachbearbeiter = Objekte Meine Verantwortung: Kontoführung Meine Verantwortung: Produktkatalog

4 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Objektorientierung Wie ist das Objekt bezeichnet? Wie verhält es sich zu seiner Umgebung? Welche Informationen sind Privatsache des Objekts? Identität: DD-0X5A Verhalten: gelbes Licht Zustand: Normalbetrieb

5 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Grundkonzepte der Objektorientierung Ein System besteht aus vielen Objekten. Ein Objekt hat ein definiertes Verhalten. –Verhalten setzt sich zusammen aus einer Menge genau definierter Methoden zur Erfüllung von Einzelaufgaben. –Eine solche Methode wird beim Empfang einer Nachricht ausgeführt. Ein Objekt hat einen inneren Zustand. –Der Zustand des Objekts ist Privatsache. –Das Resultat einer Methode des Objekts (bei Empfang einer Nachricht) hängt vom aktuellen Zustand des Objektes ab. Ein Objekt hat eine eindeutige Identität. –Die Identität eines Objektes ist unabhängig von seinen anderen Eigenschaften. –Es können mehrere verschiedene Objekte mit identischem Verhalten und identischem inneren Zustand im gleichen System existieren.

6 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Beispiel: Ampel-Objekt Verhalten des Ampel-Objekts: –Reaktion auf Nachrichten wie Zeittakt, Fahrzeugsensor Zustand des Ampel-Objekts: –Schaltphase, Restzeit, Betriebsmodus,... Identität des Ampel-Objekts: –Unabhängig vom Zustand –Unterscheidbar von anderen Ampeln (auch solchen im gleichen Zustand!) Ampel DD-0X5A Objekt zur Repräsentation einer Ampel Zeittakt Lichtsignale

7 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Beispiel: Termin-Objekt Verhalten des Termin-Objekts: –Reaktion auf Nachrichten wie gibDatum, versendeEinladungen Zustand des Termin-Objekts: –Datum, Ort, Teilnehmer, geplant/bestätigt Identität des Termin-Objekts: –Unabhängig vom Zustand 12. Abteilungsrunde Objekt zur Repräsentation eines Termins gibDatum Ergebnis: Datum versendeEinladungen

8 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Klasse und Objekt Welcher Begriff beschreibt das Objekt? Welche Begriffshierarchie wird verwendet? Wie hängt das Verhalten des Objektes von der Hierarchie ab? Klasse: Ampel Vererbung: Sensorgesteuerte Ampel Polymorphie: Ampeln mit Sensorsteuerung reagieren in spezieller Weise auf Zeittakt

9 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Erweiterte Konzepte der Objektorientierung Ein Objekt gehört zu einer Klasse. –Die Klasse schreibt das Verhaltensschema und die innere Struktur ihrer Objekte vor. Klassen besitzen einen Stammbaum, in der Verhaltensschema und innere Struktur durch Vererbung weitergegeben werden. –Vererbung bedeutet Generalisierung einer Klasse zu einer Oberklasse. Polymorphie: Eine Nachricht kann verschiedene Reaktionen auslösen, je nachdem zu welcher Unterklasse einer Oberklasse das empfangende Objekt gehört. nn

10 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Beispiel: Ampel-Klasse und Ampel-Objekte DD-0X5A: SensorAmpel DD-0X5B: SensorAmpel DD-0Y3C: ZeitAmpel SensorAmpelZeitAmpel Ampel Instanz einer Klasse Generalisierung (Vererbung)

11 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Beispiel: Termin-Klasse und Termin-Objekte AR-12: Teambesprechung AR-13: Teambesprechung Figaro: Theaterbesuch TeambesprechungTheaterbesuch Instanz einer Klasse Generalisierung (Vererbung) GeschäftsterminPrivater Termin Termin Kundenbesuch

12 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Beispiele: Polymorphie Jede Ampel reagiert auf den Zeittakt. –Die Klasse Ampel schreibt vor, daß auf die Nachricht Zeittakt reagiert werden muß. –Verschiedene Reaktionen: Jeder Termin kann verschoben werden. –Die Klasse Termin schreibt vor, daß auf die Nachricht verschiebeTermin reagiert werden muß. –Verschiedene Reaktionen: Unterklassen spezialisieren das Verhalten ihrer Oberklassen. AR-13: TeambesprechungFigaro: Theaterbesuch DD-0X5A: SensorAmpelDD-0Y3C: ZeitAmpel

13 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Prinzipielle Vorteile von Objektorientierung Zuständigkeitsbereiche Hierarchie Baukastenprinzip Klare Schnittstellen Lokale Kombination von Daten und Operationen, gekapselter Zustand Definiertes Objektverhalten, Nachrichten zwischen Objekten Vererbung und Polymorphie (Spezialisierung), Klassenschachtelung Benutzung vorgefertigter Klassenbibliotheken, Anpassung durch Spezialisierung (mittels Vererbung) Stabilität Wieder- verwendung Änderungs- freundlichkeit

14 Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Objektorientierte Programmiersprachen Simula (1967) –Historisch erste objektorientierte Sprache Smalltalk ( ) –radikale Objektorientierung und graphische Oberflächen C++ (1984) –Objektorientierte Erweiterung von C Java (1995) –Einfache C-ähnliche Sprache, plattformneutral Object Pascal / Delphi (1995) –Objektorientierte Erweiterung von (Turbo-)Pascal, Windows-orientiert


Herunterladen ppt "Technische Universität DresdenProf. HußmannInformatik II (Maschinenwesen) Warum Objektorientierung? Hauptprobleme der industriellen Softwareentwicklung:"

Ähnliche Präsentationen


Google-Anzeigen