MetaTrader 5 herunterladen
Nachschlagewerk MQL5Grundlagen der SpracheObjektorientiertes Programmieren 

Objektorientiertes Programmieren

Objektorientiertes Programmieren ist datenorientiertes Programmieren, wobei Daten und Verhalten unaufloeslich miteinander verbunden sind. Zusammen sind Daten und Verhalten eine Klasse, und Objekte sind Klassenexemplare.    

Bestandteile des objektorientierten Programmieren sind:

Objektorientiertes Programmieren betrachtet Berechnungen als Verhaltensmodellierung. Das was modelliert wird sind Objekte, dargestellt durch rechnerische Abstraktionen. ZB. wollen wir das allgemeinbekannte Spiel "Tetris" schreiben, dafür muessen wir lernen, die Erscheinung einer Zufallfigur zu modellieren,die aus vier Kaestchen besteht, miteinander durch Ränder verbunden. Auch muss man die Fallgeschwindigkeit der Figur regeln, Rotierungs- und Schubsoperationen der Figur einstellen. Umsetzungen der FIgur auf Display sind  durch Glasgrenzen begrenzt, diese Firderung muessen wir auch modellieren. Außerdem muessen die gefuellten Reihen der Kaestchen im Glas entfernt werden und die erarbeiteten Punkte berechnet werden muessen.  

So,fordert dieses einfaches Spiel  das Schaffen vo mehreren Modellen - Figurmodell, Glasmodell, Modell der Figurbewegung im Glas usw. Alle diesen Modelle sind Abstraktionen, dargestellt von Berechnungen im Computer. Für Beschreibung dieser Modelle wird der Begriff abstrakter Datentyp  ADT (oder komplexer Datentyp) verwendet. Streng gesagt ist Bewegungsmodell der "Figur" im "Glas" kein Datentyp, sondern Gesamtheit von Datenoperationen des Typs "Figur", die Datenbegrenzungen des Typs "Glas" verwenden.  

Objekte sind Variablen der Klasse. Objektorientiertes Programmieren ermöglicht abstrakte Datentypen einfach zu erzeugen und zu verwenden. Objektorientiertes Programmieren verwendet Mechanismus von Vererbung. Vererbung ist deswegen vorteilhaft, weil es die Erhaltung von sekundaeren Typen aus den vom Benutzer bestimmten Datentypen ermöglicht.  für die Figurerzeugung im Tetris ist es bequem, vor allem Basisklasse Shape zu erzeugen, auf deren Grund sekundaere Typen aller sieben moeglichen Figuren in Tetris erhalten werden. In der Basisklasse ist Figurverhalten bestimmt, in den sekundaeren ist Realisierung des Verhaltens jeder konkreten Figur detailiert.

In OPP sind Objekte für Ihr Verhalten verantwortlich. Entwickler von ADT muss darin Kode für die Beschreibung jedes Verhaltens einbeschliessen, das von den ensprechenden Objekten zu erwarten ist. Die Tatsache, dass das Objekt für sein Verhalten selbst verantwortlich ist, vereinfacht bedeutend das Programmieren für Benutzer dieses Objektes.

Wenn wir auf dem Display Figur zeichen wollen, muessen wir kennen, wo sich ihr Zentrum befunden wird und wie man sie zeichnen muss. Wenn es einzelne Figur genau kennt, wie sie sich zeichnen muss, muss der Programmierer bei der Verwendung dieser Figur dem Objekt die Nachricht "sich zeichnen" übertragen.

Sprache MQL5 ist der Sprache C++  aehnlich und darin ist auch der Mechanismus der Inkapsulation für Realisierung von ADT realisiert. Inkapsulation vereinigt in sich einerseits interne Details der Realisierung des konkreten Typs und andererseits die aussen zugaenglichen Funktionen, die die Objekte des Typs bewirken können. Realisierungsdetails können für das Programm, das diesen Typ verwendet, unzugaenglich sein.  

Zum Begriiff OPP gehört eine Reihe von Konzeptionen einschliesslich folgende:

  • Modellieren der Handlungen aus der realen Welt
  • Vorhandensein von Datentypen bestimmt vom Benutzer
  • Verhuellung der Realisierungsdetails
  • Moeglichkeit von mehrmaliger Verwendung durch Vererbung
  • Interpretieren der Funktionsaufrufe in der Durchführungsetappe

 

Einige von diesen Begriffen sind ganz undeutig, einige - abstrakt, andere haben allgemeinen Charakter.