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

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

Objektorientierte Programmierung
Konzepte objektorientierter Systeme
Kritische Betrachtung
Unter- und Oberklassen: Beispiel
Warum Objektorientierung?
Ausnahmen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abstrakte Klassen.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Sebastian Grahn Sebastian Kühn
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
C++ Vererbung und Polymorphie
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Wizards & Builders GmbH Der Maskendesigner Design von Masken für Applikationen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH ActiveX-Controls Verwendung und Einsatz von ActiveX-Controls unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Microsoft Titel Microsoft-Titel für Entwickler und Softwarehäuser.
Wizards & Builders GmbH Klassenbibliotheken Arbeiten mit Klassenbibliotheken in Microsoft Visual FoxPro.
Wizards & Builders GmbH Programmierstil Hinweise zum Programmierstil unter Microsoft Visual FoxPro.
Wizards & Builders GmbH OOP in der Praxis Die wichtigsten Befehle für OO-Programmierung mit Microsoft Visual FoxPro.
Visual FoxPro Objektorientierte Programmierung. © 1999 TMN-Systemberatung GmbH Grundbegriffe n Objekte n Eigenschaften n Methoden n Objektnamen n Klasse.
Form Designer Programmierung von Forms. © 1999 TMN-Systemberatung GmbH Eigenschaften und das Eigenschafts Fenster n In Reitern nach Themen sortiert n.
Access & Assign Methoden in Visual FoxPro Zuweisungs- und Zugriffs-Methoden.
Error Handling unter Visual FoxPro. © 1999 TMN-Systemberatung GmbH ON ERROR n ON ERROR DO ERRHAND WITH error(), sys(16), message(), lineno(1) – Globales.
Definition von Klassen Umgang mit Objekten. © 1999 TMN-Systemberatung GmbH Code Definition von Klassen n Alle visuellen Klassen können auch per Code definiert.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Objektorientierte Programmierung (OOP) 1
Einführung in die Programmierung
Objektorientiertes Programmieren
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. M. Thaller AM1: Re-usable Content in 3D und Simulationssystemen.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
ObjektOrientiertes Programmieren
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Klassenhierarchien, Vererbung
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #3 Philipp Effenberger
Objektorientierung.
Objektorientierte Modellierung mit UML
Project Hooks und _VFP Möglichkeiten. © 1999 TMN-Systemberatung GmbH Aufbau des Objekt Modells für Applications und Projects.
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs Übung Besprechung der Hausaufgabe Vererbung
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Sichtbarkeit einschränken
Abstrakte Klassen und das Interface-Konzept
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
Objektorientierte Programmierung Was ist das eigentlich ?
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
1 Eine Einführung in die objektorientierte Programmierung.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Objektorientierte Programmierung
Objektorientierte Programmierung und Vererbung
Implementieren von Klassen
 Präsentation transkript:

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

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!!!

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

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

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

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

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

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

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

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

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

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

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'

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

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

Wizards & Builders GmbH Klassenhierarchie (Beispiel)

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'

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

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

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

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

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

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

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

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

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

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

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

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

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