Seite 1 Objektorientierte Programmierung TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004 Einführung...

26
Seite 1 Objektorientierte Programmierung TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004 Einführung Objektorientierte (OO) Programmierung Einführung

Transcript of Seite 1 Objektorientierte Programmierung TEKO Bern, Jürg Hess Ausgabe 2, Nov. 2004 Einführung...

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;