Artikel pedia
| Home | Kontakt | Artikel einreichen | Oberseite 50 artikel | Oberseite 50 autors
 
 


Artikel kategorien
Letztes fugte hinzu
    Ms-access

   Instrumentation + schnittstellen

   Pc tuning - volle kraft voraus für ihr system

   Informatorische grundlagen

   Javascript

   Interne sortieralgorithmen - der kern der sache

   Plotter und sonstige drucker

   Frage 20 (rössl priska)

   Internet - programmierung

   Monitore

   Semesterarbeit und spezialgebiet für informatik

   Erörterungs zum thema

   Inhaltsverzeichnis

   Einführung in die entwicklung ganzheitlicher informationssysteme:

   Titel dokument
alle kategorien

  Grundprinzipien der objektorientierten programmierung (oop)

Prinzipien der objektorientierten Programmierung (OOP)  Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit   1.) Datenkapselung   Komplexe Datenstrukturen (wie zB ein Stack) werden vom Anwendungsprogramm nicht direkt verwendet. Zum Zugriff auf solche Strukturen bedient man sich sogenannter „Zugriffs-Funktionen“ (zB: push(x), pop( )). Dieses Prinzip, welches auch in der OOP zur Anwendung kommt, nennt man Datenkapselung. In der OOP sind diese Zugriffs-Funktionen in Form von Methoden realisiert.   Die Implementierung der Datenstruktur, die eigentlichen Strukturen/Variablen zum speichern der Daten (zB Stack: Array oder Liste ?), bleiben dem Anwendungsprogramm/Programmierer verborgen.

Es sind lediglich die Schnittstellen bekannt. Dies wird als „Information-Hiding“ bezeichnet.   Vorteil: Änderung bei der Datebstruktur-Implementierung -> keine Auswirkung auf Anw. Programm!   2.) Klassen   Klassen kann man als „Baupläne“ oder „Vorlagen“ für gleichartige Objekte verstehen. In einer Klasse werden alle Eigenschaften und Methoden der Objekte festgelegt.

Eine Klasse lässt sich mit einem Datentyp der nicht-OO Programmierung vergleichen. Bsp: Klasse: Person Objekte sind folglich „Instanzen“ einer Klasse.   Beispiel einer Klassen-Vereinbarung in C++:Eigenschaften, hier standardmäßig „private“ (nur der Klasse selbst bekannt).     Konstruktor (=Spezielle Methode mit dem gleichen Namen, wie die Klasse. Zweck: sofortiges Initialisieren beim, anlegen eines Objektes).   Schnittstellen der Methoden.

/*point.h*/ class Point { int x; int y; public: Point (int x, int y); void Show (); void Hide (); void MoveTo (int x, int y); int getx (); int gety (); };                       Beispiel einer Klassen-Implementierung in C++:    Konstruktor-Implementierung.         Methoden haben Zugriff auf die Eigenschaften (x und y).             Methoden der eigenen Klasse /*point.cpp*/ #include "point.h" Point::Point (int ix, int iy) { x = ix; y = iy; }   void Point::Show () { putpixel (x, y, getcolor()); } .

.. void Point::MoveTo (int nx, int ny) { Hide (); x = nx; y = ny; Show (); }                                     3.) Objekte   Ein Objekt ist im Grunde eine strukturierte Variable und hat einen inneren Zustand. D.h.

sie besitzen sog. „Eigenschaften“. Eigenschaften sind sozusagen Unter-Variablen innerhalb eines Objekts, die normalerweise nur dem Objekt selbst bekannt sind (siehe Datenkapselung). Eigenschaften lassen sich mit Komponenten einer Struktur in C vergleichen.   Ein Objekt hat sog. „Methoden“.

Sie dienen, um auf die Eigenschaften der Klasse zugreifen zu können. Methoden sind Funktionen oder Prozeduren innerhalb der Klasse.   Ein Objekt reagiert auf Nachrichten anderer Objekte, durch die Ausführung einer Methode, bzw. sendet selbst Nachrichten an andere Objekte um deren Methoden zu aktivieren. Eine Nachricht entspricht also einem Funktionsaufruf.   Bsp (Objekt der Klasse Person): Objekt: Karl Müller Eigenschaft: 23 Jahre alt Methode: lerne Nachricht: lerne C++.

  Beispiel einer Klassen-Verwendung bzw. Instantiierung in C++:   (Vereinbarung und Implementierung der Klasse „Point“ unter Klassen)     Gegenüberstellung: Vergleich der Begriffe der OOP mit nicht-OOP Begriffen.   Klasse Daten-Typ Objekt (strukturierte) Variable Eigenschaft Wert einer Variablen (Komponente) Methode Funktion / Prozedur Nachricht Aufruf einer Funktion / Prozedur       4.) Vererbung:   Vererbung wird zum Aufbau einer Hierarchie von ähnlichen Klassen benutzt. Untergeordnete Klassen bezeichnet man in der OOP als „abgeleitete Klassen“, während man bei übergeordneten Klassen von „Basisklassen“ spricht.   Eine „abgeleitete Klasse“ - erbt Eigenschaften und Methoden der „Basisklasse“, - kann Eigenschaften hinzufügen, - kann neue Methoden hinzufügen und geerbte Methoden durch eigene ersetzen.

  Durch die Vererbung wird immer weitere Spezialisierung bewirkt. Die Vererbung stellt eine „Is-A“(„ist-ein“)-Beziehung dar (zB Schüler ist-eine Person).   Es ist auch möglich, dass eine „abgeleitete Klasse“ mehrere „Basisklassen“ hat, man spricht von mehrfach-Vererbung. Die „abgeleitete Klasse“ erbt von allen „Basisklassen“ sämtliche Methoden und Eigenschaften. Beispiel einer Klassen-Hierarchie:         5. Mechanismen und Funktionalität   Konstruktor Jede Klasse hat einen Konstruktor.


Der Konstruktor ist eine Prozedur die den selben Namen wie die Klasse trägt. Diese Prozedur wird automatisch bei der Instantiierung eines Objekts ausgeführt. Der Konstruktor wird benutzt um die Eigenschaften zu Initialisieren.   Destruktor Der Destruktor ist das Gegenstück zum Konstruktor. Er trägt (in C++) den Namen der Klasse mit führendem „~“-Zeichen. Diese Prozedur wird am Ende der Lebensdauer eines Objekts aufgerufen.

Sie wird verwendet wenn es etwas zu „bereinigen“ gibt (zB: Abbau einer verketteten Liste).   Für Konstruktor und Destruktor gilt: Wird vom Programmierer keine solche Prozedur definiert, so wird ein Standard-Konstruktor/Destruktor verwendet. Diese beiden Prozeduren existieren also bei jeder Klasse.   Zugriffsrechte In C++ existieren drei Zugriffsbeschränkungen für die Elemente einer Klasse: PUBLIC: Jeder (auch außerhalb der Klasse) darf zugreifen. PRIVATE: Nur Methoden der eigenen Klasse dürfen zugreifen. PROTECTED: Nur Methoden der eigenen und abgeleiteter Klassen dürfen zugreifen.

Zugriffsrechte können (in C++) in der Klasse selbst und bei der Vererbung festgelegt werden.   Der this-Zeiger Jede Methode einer Klasse (in C++) hat einen versteckten Parameter, den sogenannten this-Zeiger. Dieser Zeiger zeigt auf das Objekt um dessen Methode es sich handelt. Mittels dieses Zeigers funktioniert der Zugriff auf die Eigenschaften innerhalb einer Methode.

Suchen artikel im kategorien
Schlüsselwort
  
Kategorien
  
  
   Zusammenfassung Der Vorleser

   sachtextanalyse

   interpretation zwist

   Fabel interpretation

   literarische charakteristik

   interpretation bender heimkehr

   felix lateinbuch

   interpretation der taucher von schiller

   textbeschreibung

   charakterisierung eduard selicke
Anmerkungen:

* Name:

* Email:

URL:


* Diskussion: (NO HTML)




| impressum | datenschutz

© Copyright Artikelpedia.com