Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Einführung in die Objektorientierung

Einführung in die Objektorientierung
by

Wolfgang Fleischer

on 17 February 2010

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Einführung in die Objektorientierung

Die Methoden eines Objektes arbeiten nur mit den
Datenfeldern und Inhalten des selben Objektes
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-WW-333
co2: 99
erstzulassung: 13072009
fahrgestellNr: 228347546473
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-TT-3
co2: 210
erstzulassung: 22122006
fahrgestellNr: 098712340987
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-OO-991
co2: 99
erstzulassung: 28092005
fahrgestellNr: 987698761234
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-WW-333
co2: 99
erstzulassung: 13072009
fahrgestellNr: 228347546473
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-JJ-11
co2: 99
erstzulassung: 03072008
fahrgestellNr: 0009876473
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-ZZ-222
co2: 119
erstzulassung: 14082009
fahrgestellNr: 228377746555
mit der Sichtbarkeit wird festgelegt, wie mit einem Objekt gearbeitet werden kann:
private - die Methode oder das Attribut kann nur innerhalb des Objektes genutzt werden. Von außen sind diese Elemente nicht sichtbar

public - dieses Element (in der Regel eine Methode) kann von außen aufgerufen werden
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
die Klasse

Blaupause für Objekte

Kfz
private char[20] kennzeichen
private date erstzulassung
private int co2
private char[30] fahrgestellNr

public int berechneAlter()
public int berechneKfzSt()
public String getKfzKennzeichen()
public void setKfzKennzeichen(Sting)
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen:
co2:
erstzulassung:
fahrgestellNr:
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen:
co2:
erstzulassung:
fahrgestellNr:
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen:
co2:
erstzulassung:
fahrgestellNr:
doch ein sinnvolles Objekt hat man erst nach der Initialisierung

wie soll dies geschehen?
Kapselung
Delegation
Delegation
Delegation
Delegation
Delegation
eine Klasse beschreibt nicht nur ihre Zutaten
sie muss auch eine Handlungsanweisung enthalten
wie die Objekte zu initialisieren sind

diese Aufgabe übernehmen sogenannte Konstruktoren,
das sind Methoden zum Bau von Objekten
Sie sind nur in der Klasse, nicht aber im Objekt enthalten
Ein Objekt kann sich nicht selbst erzeugen!
welche Methoden könnte es noch geben,
die zwar in der Klasse definiert sind, aber
im Objekt nichts zu suchen haben?
-
-
-
Objekte stehen nicht alleine da,
sondern sie haben Beziehungen zu
anderen Objekten, sie sind mit
anderen Objekten verlinkt.

das ist Dieter
das ist Dieters Auto
Dieter ist Halter dieses Fahrzeugs,
zwischen dem Fahrzeug und Dieter
existiert eine Beziehung
besitzt
getVorname
setName
umzug
getGebDatum
berechneAlter
name: Müller
gebDatum: 12121955
vorname: Dieter
strasse: Michael-Ende-Platz
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-WW-333
co2: 99
erstzulassung: 13072009
fahrgestellNr: 228347546473
hausNummer: 222
plz: 40476
ort: Düsseldorf
Noch einmal zum Zustand:

Attributwerte und Beziehungen
beschreiben den Zustand eines Objektes
Fallstudie Objektinteraktion und Delegation:
Die Besprechung2 ist um 24 Stunden nach hinten zu verlegen
Definition
Reservierung von Platz im Hauptspeicher

Deklaration
Bekanntgabe eines Namens für den
Speicherbereich an den Compiler

Initialisierung
erstmalige Belegung mit einem Wert
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen:
co2:
erstzulassung:
fahrgestellNr:
Objektinitialisierung

Mit einer einfachen Zuweisung
(int i = 1;) ist es nicht getan,

die Objektstruktur ist komplexer,
sie besteht aus mehreren Elementen:
kennzeichen = DD-AB-222;
co2 = 119;
erstzulassung = 31032009;
fahrgestellNr = 123412341234;
zur Initialisierung sind mehrere Anweisungen erforderlich,
diese Initialisierungsanweisungen werden in besonderen
Operationen implementiert.
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-ZZ-222
co2: 119
erstzulassung: 14082009
fahrgestellNr: 228377746555
getKfzKennzeichen
setKfzKennzeichen
berechneKfzSt
getCO2
berechneAlter
kennzeichen: D-FF-444
co2: 1200
erstzulassung: 10082008
fahrgestellNr: 8765555432
ccm: 15000
ccm: 1200
Es gibt in der KFZ-Klasse
eine Methode berechneKfzSt()

Aufgrund einer Gesetzesänderung soll
die Steuer bei Personenkraftwagen
nach dem CO2 Ausstoß und bei Last-
kraftwagen nach Hubraum bemessen
werden.
kennzeichen
co2
erstzulassung
fahrgestellnummer
ccm
getKfzKennzeichen()
berechneKfzSt()
getCo2()
setKfzKennzeichen()
berechneAlter()
Kfz
Lkw
berechneKfzSt()
Vererbung
Berechnung der Steuer
nach CO2-Wert
Berechnung der Steuer
nach Hubraum
Überschreiben (reimplementieren)
der Methode berechneKfzSt()
kennzeichen
co2
erstzulassung
fahrgestellnummer
ccm
getKfzKennzeichen()
abstract berechneKfzSt()
getCo2()
setKfzKennzeichen()
berechneAlter()
Kfz <abstract>
Pkw
Lkw
berechneKfzSt()
Vererbung
Methode ohne Coding
Implementierung der Berechnung
der Steuer nach CO2-Wert
Implementierung der Berechnung
der Steuer nach Hubraum
von der Klasse Kfz
gibt es kein Objekt
berechneKfzSt()
Sequenzdiagramm
Objekte sind komplexe Gebilde
Objekte sind mit anderen Objekten verlinkt
Objekte definieren sich über ihr Verhalten (Methoden) und ihre Eigenschaften (Attribute)
Objekte senden Nachrichten (sie rufen Methoden anderer Objetke auf)

Gleiche Objekte werden durch Klassen beschrieben
:Kfz
_____
:Kfz
_____
Assoziation
Kfz
Person
Raum
Gebaeude
Parkplatz
Immobilie
Motor
Agregation
Komposition
Assoziation
Generalisierung
Generalisierung
Beziehungen
X
X
Vermieter
Mietobjekt
besitzt
Rolle
Rolle
Navigation
Name
Navigation
Leserichtung
0..*
1
Multiplizität
1
0..1
Multiplizität
0..*
0..*
1
1
Full transcript