Konzepte der objektorientierten Programmierung...
-
Upload
hoangquynh -
Category
Documents
-
view
224 -
download
3
Transcript of Konzepte der objektorientierten Programmierung...
GrundzügeGrundzüge der Programmierungder Programmierung
Konzepte der objektorientierten Programmierung (ooP)
OBJEKTE - KLASSEN
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 2
Inhalt dieser EinheitInhalt dieser Einheit
JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:
• Objekte (objects)• Klassen (classes)• Nachrichten (messages)• Instanziierung • Vererbung (inheritance)• Schnittstellen (interfaces) • Wiederverwendung (code reuse)
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 3
ObjekteObjekte
• Zur Lösung eines Problems müssen Gegenstände des Problemgebietes in einem Modell erfasst werden (z.B. Konten, Verkehrsnetze)
• Modelle sind (vereinfachte) Abbildungen der Realität• Eine Möglichkeit der Modellierung ist die
„objektorientierte Modellierung“• Der Problemraum wird dabei in Objekte zerlegt, die
ein Verhalten haben und durch Eigenschaften charakterisiert sind
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 4
ObjektObjekt(Bsp. Fahrrad)(Bsp. Fahrrad)
• Objekt der realen Welt z.B. Fahrrad ist definiert durch:
•• ZustandZustand (Gänge, Farbe, Marke)
•• VerhaltenVerhalten (Schalten, Bremsen)
• Software-Objekte• Zustand wird in VariablenVariablen gespeichert• Verhalten wird in MethodenMethoden abgebildet
Überleitung
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 5
ObjektObjekt(Bsp. Fahrrad)(Bsp. Fahrrad)
• Ein Objekt hat • eine eindeutige Identität, die es von allen anderen
Objekten unterscheidet,• einen individuellen Zustand• und ein bestimmtes Verhalten
(das vom Zustand des Objekts abhängen kann).
• Ein spezielles Objekt wird auch InstanzInstanz genannt
bremsen
Gangwechseln
Geschwindigkeiterhöhen 20 km/h
3. Gang
prince
blau
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 6
Beispielobjekt: BuchBeispielobjekt: Buch
Eigenschaften Verhalten
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 7
VariablenVariablenBeispielobjekt: BuchBeispielobjekt: Buch
Eigenschaften Variablen
Überleitung
Titel: „Thinking in Java“Autor: Bruce EckelErscheinungsjahr: 1997Hardcover: 1Ausleihestatus: verliehenSeiten: 1129Bibliographie: 0
< l i > K o n z e p t i o n
Erscheinungsjahr ?
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 8
MethodenMethodenBeispielobjekt: BuchBeispielobjekt: Buch
Verhalten Methoden
Überleitung
Buch ausleihenBuch zurückgebenErscheinungsjahr eintragen
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 9
Objekte Objekte --NachrichtenaustauschNachrichtenaustausch
• Objektorientierte Programme bestehen aus Objekten, die miteinander interagieren.
• Die Interaktion zwischen Objekten erfolgt über den Austausch von Nachrichten.
• Wenn Objekt A möchte, dass Objekt B eine seiner Methoden ausführt, sendet Objekt A eine Nachricht an Objekt B.
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 10
NachrichtenaustauschNachrichtenaustausch
• Komponenten einer Nachricht
• Das Objekt, auf das die Nachricht adressiert ist (paulsFahrrad).
• Der Name der Methode, die ausgeführt werden soll (gangWechseln).
• Die Parameter, die die Methode benötigt (Gang) (hier: 2).
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 11
KlassenKlassen
• Objekte, die bis auf ihren Zustand identisch sind, werden zu "Klassen von Objekten"zusammengefasst.
• Eine Klasse beschreibt das Verhalten und die Eigenschaften von gleichartigen Objekten.(Z.B. Alle individuellen Fahrräder werden zur Klasse Fahrrad zusammengefasst)
• Aus jeder Klasse können beliebig viele Objekte abgeleitet („instanziiert“) werden.
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 12
Klassen und ObjekteKlassen und Objekte
Klasse Objekte
Hund
Arco
Seppl
Rex
Klassen beschreiben Objekte, die identische Eigenschaften und gleiches Verhalten haben.
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 13
InstanzierungInstanzierung
• Ein Objekt ist die InstanzInstanz einer Klasse.• In der Klasse werden alle Variablen und
Methoden definiert. • Aus einer Klasse können dann beliebig viele
Instanzen abgeleitet werden.• Jede Instanz hat eine eigene Kopie der
Variablen, die in der Klasse definiert sind (Instanzvariable).
Hund
Name: ArcoGeburt: 07.10.00
Name: RexGeburt: 11.11.01
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 14
KlassenKlassen-- und und ObjektdiagrammeObjektdiagramme
Beziehung zwischen einer Klasse und ihren Objekten:Jedes Objekt hat seinen eigenen Zustand, der in den Instanzvariablen gespeichert wird.
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 15
Charakteristika der Charakteristika der ooPooP
• Alles wird in Objekte zusammengefasst!• Jedes Objekt hat eigene Eigenschaftswerte
(Attribute=Variablen) und ein bestimmtes Verhalten (Methoden).
• Ein objektorientiertes Programm besteht aus einer Menge von kommunizierenden Objekten.
• Klassen beschreiben das Verhalten und die Eigenschaften von gleichartigen Objekten.
• Jedes Objekt ist die Instanz einer Klasse.
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 16
ÜbungÜbung
• Identifizieren Sie Objekte (ca. 5) hier im Raum und fassen Sie diese sinnvoll zu Klassen zusammen.
< l i > K o n z e p t i o n
Grundzüge der Programmierung – Objekte und Klassen © Guth, Kaukal, Klimesch 2000-2002 17
Nach dieser Einheit sollten Nach dieser Einheit sollten Sie wissen, ...Sie wissen, ...
• was Objekte und Klassen sind,• wie von realen Objekten ein Software-Objekt
abgeleitet wird,• wie Zustand und Verhalten der Objekte in der
Software abgebildet werden.• wie Objekte miteinander kommunizieren