Seite 1
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Einführung
Objektorientierte (OO)Programmierung
Einführung
Seite 2
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Quellen:
Objektorientierte SoftwareentwicklungVon Bern Oestere ich, Oldenburg VerlagISBN 3-486-25573-8
System-Entwicklung in der WirtschaftsinformatikVon R.Böhm & E.Fuchs, vdf VerlagISBN 3-7281-2762-0
Einführung
Seite 3
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Ziele:
Einführung
Sie kennen nach dem Kurs die Begr iffe:
• Objektor ientierung• UM L• Klasse• Objekt• Eigenschaft• Methode• Attribut• Vererbung
Seite 4
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Ziele:
Einführung
Sie können nach dem Kurs im Delphi Klassen definierenund Objekte einsetzen und verwenden.
Seite 5
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Unstrukturierte Programmierung
Einführung
100 dim a110 a = 45120 a = a * 13130 Gosub 400140 if a < 9999 GOTO 120…
400 a = a – 5410 gosub 200420 if a < 1200 goto 120430 return
Vertreter: Fortran, Cobol, Basic etc.
Seite 6
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Unstrukturierte Programmierung
Einführung
Vorteile:• Schnelle „Resul tate“
Nachteile:• Unübersichtl ich• Fehleranfäl lig• Schlecht war tbar• Globale Var iablen• Code kann nicht wiederverwendet werden• Sehr technisch
Seite 7
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Strukturierte Programmierung
Einführung
Procedure Schreibe(zahl:integer);Var i:integer;Begin for i := 1 to 10 do begin writeln(zahl*i); end;End;
Begin Schreibe(13);End.
Vertreter: Pascal, Modula-2, C, etc.
Seite 8
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Strukturierte Programmierung
Einführung
Vorteile:• Übersichtlich• Lokale Variablen• besser war tbar• Vom Groben ins D etail (Prozeduren)
Nachteile:• Methoden und Notation nicht einheitlich• Schlecht wiederverwendbarer Code• Konzept Funktionen und D aten entspr icht nicht der
realen W elt
Seite 9
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Abstammung der Programmiersprachen
Einführung
Seite 10
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
OO Notation: Unified Modeling Language
Einführung
Seite 11
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Ziele der Objektorientierung
Einführung
Erweiterbarkeit und Wiederverwendbarkeit
Komplexe Systeme methodisch in kleinere Teilsystemezerlegen, damit die Programmierung und Wartung möglich wird
Gute Wartbarkeit der vorhandenen Programme
Programmlösung als vereinfachtes Abbild der Realität
Sicherheit
Seite 12
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Vom Groben ins Detail, und zurück
Einführung
Seite 13
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Einführung
Begriffe
Klasse und Objekt
Seite 14
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Einführung
Klasse
Seite 15
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Einführung
Objekt
Seite 16
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Einführung
Klasse und Objekte
Seite 17
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Klasse und Objekte
Einführung
Seite 18
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Objekte: gleich, aber nicht identisch
Einführung
Seite 19
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Vererbung
Einführung
Seite 20
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Generalisierung & Spezialisierung
Einführung
Seite 21
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Generalisierung & Spezialisierung
Einführung
Seite 22
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Objektorientierte Programmierung
Einführung
Vorteile:• Sicher durch Kapselung• Flexibel und Erwei terbar durch Vererbung• Nahe an der Real ität durch System - und Objektsicht
Nachteile:• Hoher P lanungsaufwand• Es wi rd sehr viel Code gener iert• Nicht im mer per formant
Seite 23
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Fahrzeuge, Autos, LKW
Einführung
Fahrzeug
Auto LKW Bus
Seite 24
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Abstrakte Klasse TFahrzeug
Einführung
unit jheFahrzeug;
interface
type TFahrzeug = class(TObject) protected function berechneV:integer; virtual; abstract; public property v: integer read berechneV; procedure beschleunigen; virtual; abstract; procedure bremsen; virtual; abstract; end; // TFahrzeug
implementation
end.
Seite 25
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Klasse TAuto; Interface (Schnittstelle)
Einführung
unit jheAuto;
interface
uses jheFahrzeug;
type TAuto = class(TFahrzeug) private Fv : integer; protected function berechneV:integer; override; public property v: integer read berechneV; procedure beschleunigen; override; procedure bremsen; override; end; // TAuto
Seite 26
ObjektorientierteProgrammierung
TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004
Klasse TAuto; Implementation (Realisierung)
Einführung
…implementation
procedure TAuto.bremsen; begin Fv := Fv - 5; end;
procedure TAuto.beschleunigen; begin Fv := Fv + 5; end;
function TAuto.berechneV:integer; begin result := Fv; end;