Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb.

Ähnliche Präsentationen


Präsentation zum Thema: "Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb."—  Präsentation transkript:

1 Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb

2 Wizards & Builders GmbH Seit wann gibt es Objekt- orientierte Programmierung? l Entwicklung von OO Sprachen –Simula 67 –Anfang der 70er: Smalltalk –viele nicht bekannte Sprachen –Eiffel, Ada, C++ –... Visual FoxPro!!!

3 Wizards & Builders GmbH Was zeichnet objektorientierte Programmierung aus? l Objekte l Eigenschaften/Properties l Methoden l Klassen l Vererbung

4 Wizards & Builders GmbH Objekte l Modelle der Wirklichkeit l Substantive l Objekte haben eine 'Identität' l Abgrenzung l 'Verhalten'

5 Wizards & Builders GmbH Eigenschaften l Ein Objekt hat bestimmte Eigenschaften, die das Objekt kennzeichnen l Kann aus anderen Objekten zusammengesetzt sein l Ein Objekt 'reagiert' auf bestimmte Ereignisse (Events) l Ein Objekt hat Methoden durch die es manipuliert werden kann

6 Wizards & Builders GmbH Eigenschaften (Properties) l Objekte haben Eigenschaften l Die Namen der Eigenschaften werden durch die Klasse des Objekts festgelegt l Wenn sie nicht privat deklariert sind (Protected) können sie von 'außen' gesehen und manipuliert werden: ? oStopuhr.nSec oStopuhr.nSec = 15

7 Wizards & Builders GmbH Methoden l Gebunden an ein Objekt l Aktionen, mit denen ein Objekt sich selbst verändert oder Nachrichten an andere Objekte schickt l Definieren das Verhalten eines Objektes

8 Wizards & Builders GmbH Methoden l Methoden sind Prozeduren, die sich auf Objekte einer Klasse beziehen l Methoden können öffentlich oder privat (protected) sein l Wenn Methoden nicht für das aktuelle Objekt definiert sind, werden sie in den Oberklassen (Hierarchie!) gesucht

9 Wizards & Builders GmbH Klassen l Zusammenfassung von Objekten (?) l Schema eines Objektes l Bauplan eines Objektes l In der Klasse werden die Arten der Eigenschaften definiert l In der Klasse werden die Methoden definiert

10 Wizards & Builders GmbH Klassen (Beispiel) l Klassen beschreiben Eigenschaften und Verhalten von Objekten DEFINE CLASS Stopuhr AS Container nSek= 0 nMin= 0 nStd= 0 nAnzSek = 0 PROCEDURE Start This.timer1.enabled =.t. ENDPROC

11 Wizards & Builders GmbH Instanziierung 1 l Objekte werden als 'Instanzen' von Klassen erzeugt: –Visual FoxPro: oMeinObj = CreateObject('CommandButton') –andere OO Sprachen: oMeinObj := CommandButton.New ()

12 Wizards & Builders GmbH Instanziierung 2 l Eigenschaften der Instanzen werden besetzt: –oMeinObj.FontName = 'Arial' –oMeinObj.Caption = 'OK' –oMeinObj.Default =.T.

13 Wizards & Builders GmbH Vererbung l Aufbau aller Klassen auf Basisklassen l Klassen können aufeinander Aufbauen (Klassenhierarchien) l Unterklassen erben Methoden und Eigenschaften von 'Eltern'

14 Wizards & Builders GmbH Vererbung l Spezialisierung von Klassen (neue, oder spezielle Eigenschaften) l Unterklassen können Eigenschaften und Methoden neu 'überdefinieren' l Klassen können mehrere Unterklassen haben; so entsteht eine Klassenhierarchie

15 Wizards & Builders GmbH Klassenhierarchie l Eine Klasse entsteht durch 'Subclassing' aus einer anderen l Eigenschaften und Methoden werden implizit von der 'Oberklasse' übernommen l Die VFP Basisklassen haben ein default 'Verhalten' das abgeschaltet werden kann (NoDefault) l Code in einer 'Oberklasse' kann durch :: angesprochen werden

16 Wizards & Builders GmbH Klassenhierarchie (Beispiel)

17 Wizards & Builders GmbH This l Mit 'This' kann ein Objekt selbst in einer Methode referenziert werden: This.Caption = 'OK' statt MeineMaske.pgfPF1.pagP1.cmdOK.Caption = 'OK' l 'relative Referenzierung' von Objekten: This.Parent.Caption = 'Seite 1' l Außer 'This': 'ThisForm' und 'ThisFormSet'

18 Wizards & Builders GmbH Objekthierarchie l Objekte können andere Objekte beinhalten (Container) Dies kann über mehrere Stufen geschehen: oMeinMas.MeinPagFrm.Seite1.Caption = 'Seite 1' l In Methoden kann das Objekt selbst mit 'This' referenziert werden. l Mit 'With' kann die Schreibweise abgekürzt werden

19 Wizards & Builders GmbH Arten von Klassen in VFP l Arten von Klassen: –NichtContainer Klassen (normale Controls) –Container Klassen l Alle Klassen haben Events: –Init –Destroy –Error

20 Wizards & Builders GmbH Container Klassen l Enthalten andere Objekte (die wiederum andere Objekte enthalten können) l Die Eigenschaften der enthaltenen Objekte können zur der Laufzeit verändert werden l Objekte können zur Laufzeit hinzugefügt werden

21 Wizards & Builders GmbH Container Klassen l Es gibt: –Formset, Form –Grid –ListBox –Pageframe, Page –Toolbar –Container

22 Wizards & Builders GmbH Control Klassen l Normale 'einfache' Controls: Labels, Boxen, Buttons... l Es können keine weiteren Objekte hinzugefügt werden

23 Wizards & Builders GmbH Control Klassen l Es gibt: –CheckBox –CommandButton –EditBox –Image –Label –Line –Spinner...

24 Wizards & Builders GmbH Klassenbibliotheken l Klassen können innerhalb von Dateien zusammengefaßt werden l Klassenbibliotheken entsprechen Funktionsbibliotheken l Kb können durch den Anwender angepaßt werden, ohne daß am Sourcecode geändert wird: Unterklassen bilden und Eigenschaften und Methoden verändern

25 Wizards & Builders GmbH Weitere Begriffe 1 l Polymorphismus: Eine Methode gleichen Namens kann in unterschiedlichen Klassen definiert sein. Die Auswirkungen (der ausgeführte Code) sind aber unterschiedlich l Ereignisse (Events): passieren in der Umgebung von Objekten; Objekte reagieren durch Methoden

26 Wizards & Builders GmbH Polymorphismus l Schwieriges Wort für einfache Tatsache: Eine Methode kann in unterschiedlichen Klassen verschieden implementiert sein. oStopuhr.Start && Zeit läuft los oListe.Start && erstes Element einer Liste wird aktiviert

27 Wizards & Builders GmbH Weitere Begriffe 2 l Nachrichten: werden an Objekte gesendet; Objekte reagieren durch Methoden l Kapselung: die Implementierung der Methoden bleibt in der Klasse verborgen

28 Wizards & Builders GmbH Nachrichten Nachrichten werden an ein Objekt geschickt um dort bestimmte Methoden auszuführen: =oStopuhr.Start() l Nachrichten können Parameter weitergeben an Methoden (Prozeduren) Nachrichten können auch innerhalb eines Objekts verwendet werden: This.Parent.UpdateDisplay

29 Wizards & Builders GmbH Kapselung l Bedeutet dasselbe wie 'Information Hiding' in der strukturierten Programmierung l Alle Daten, die für das Ausführen einer Methode sollten entweder Eigenschaften des Objekts sein, oder als Parameter übergeben werden l Eigenschaften und Methoden, die außerhalb des Objekts nicht benötigt werden, können innerhalb des Objekts 'versteckt' werden

30 Wizards & Builders GmbH Beispiel Stopwatch l Beispiel aus den 'Control Samles' in VFP l Erweiterung einer Klasse


Herunterladen ppt "Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb."

Ähnliche Präsentationen


Google-Anzeigen