Objektorientierte Programmierung - MATLAB & Simulink

MATLAB

Objektorientierte Programmierung in MATLAB

Modellieren Sie reale Objekte und bewältigen Sie die Komplexität Ihrer Software

Nutzen Sie die objektorientierte Programmierung zur Modellierung realer Objekte

Objektorientierte Programmierung ist ein Designansatz, mit dem Sie Strukturen, Objekte genannt, programmgesteuert definieren können, die Daten (Eigenschaften) mit Funktionen kombinieren, die diese Daten verarbeiten (Methoden). In MATLAB® können Sie Objekte erstellen, die das Verhalten von Geräten und Systemen in der realen Welt modellieren. Diese Objekte können dann als Bausteine in Anwendungen zur Simulation und Analyse komplexer Systeme verwendet werden.


MATLAB-Objekte bieten eine wohldefinierte Schnittstelle, die die interne Komplexität verbirgt.

Nutzen Sie die objektorientierte Programmierung zur Bewältigung der Softwarekomplexität

Mithilfe von objektorientierter Programmierung in MATLAB können Sie die Softwarekomplexität besser in den Griff bekommen, indem Sie Ihren Code zur einfacheren Wartung und Erweiterung in logische Komponenten aufteilen. Durch die Erstellung wiederverwendbarer Objekte mit wohldefinierten Schnittstellen, die die Komplexität des zugrunde liegenden Codes ausblenden, können Sie Code-Duplizierung vermeiden. Dies sorgt außerdem dafür, dass Ihre Objekte im Laufe der Zeit weiterentwickelt und geändert werden können, ohne dass es zu Inkompatibilitäten im Client-Code kommt.


Die Komponenten einer MATLAB-Klasse

Eine MATLAB-Klasse enthält eine Blaupause oder eine Reihe von Anweisungen zur Erstellung eines bestimmten Objekttyps. Klassendefinitionen beginnen mit dem Schlüsselwort „classdef“ und besitzen drei Hauptkomponenten:

  • Properties-Blöcke definieren die Eigenschaften, die Daten für jedes Objekt der Klasse speichern. 
  • Methods-Blöcke enthalten eine Reihe von Funktionen zur Definition der Vorgänge, die auf jedem Objekt der Klasse ausgeführt werden können.
  • Events-Blöcke definieren Nachrichten, die ein Objekt an andere Teile einer Anwendung sendet, wenn sich etwas an diesem Objekt ändert.

Die Komponenten einer MATLAB-Klasse

Ein Beispiel für die Definition einer MATLAB-Klasse

MATLAB bietet Eigenschafts-/Methodenattribute und Validierungssyntax zur Durchsetzung von Eigenschaftstypen, -größen und -werten.

MATLAB bietet Eigenschafts-/Methodenattribute und Validierungssyntax zur Durchsetzung von Eigenschaftstypen, -größen und -werten.

Definition von Eigenschaften und Methoden

Beim Definieren einer Klasse können Sie Attribute zur Steuerung des Verhaltens Ihrer Klasseneigenschaften und -methoden sowie des Zugriffs von außerhalb des Objekts angeben. So können Eigenschaften und Methoden beispielsweise öffentlich, privat oder geschützt sein. Beim Festlegen von Eigenschaften können Sie Validierungssyntax verwenden, um das Schreiben von Code zur Fehlerprüfung zu vermeiden


Arbeiten mit Objekten

Sie können Objekte mithilfe einer speziellen Methode namens class constructor (Klassenkonstruktor) erstellen. Der Aufruf des Konstruktors entspricht dem Aufruf einer beliebigen MATLAB-Funktion und kann zur Erstellung eines einzelnen Objekts oder eines Arrays von Objekten verwendet werden. Der Zugriff auf Objekteigenschaften funktioniert genauso wie der Zugriff auf die Felder einer Struktur. Objektmethoden werden genauso aufgerufen wie gewöhnliche MATLAB-Funktionen.

MATLAB-Objekte haben im Vergleich zu anderen Sprachen einzigartige Funktionen. Beispielsweise können Sie eine Klasse jederzeit ändern und die Objekte dieser Klasse werden automatisch aktualisiert. Außerdem verwaltet MATLAB den Lebenszyklus von Objekten, ohne dass eine explizite Speicherzuweisung oder -freigabe erforderlich ist. Auch die in einigen anderen Sprachen verwendete Art der nicht-deterministischen Speicherbereinigung findet nicht statt.

Die Erstellung von MATLAB-Objekten und die Arbeit mit ihnen erfolgt mithilfe einer vertrauten Syntax.

Die Erstellung von MATLAB-Objekten und die Arbeit mit ihnen erfolgt mithilfe einer vertrauten Syntax.