Quantcast
Channel: Mein MATLAB Forum - goMatlab.de
Viewing all articles
Browse latest Browse all 28441

Interaktion zwischen Objekten

$
0
0
Hallo zusammen, ich habe eine Frage bezüglich der Abhängigkeiten von Objekten untereinander. Folgendes Szenario: Ich habe ein "Mutter-Objekt" (KEINE superclass mit Vererbung) mit Namen sim.Run, was Daten einer Simulation speichert. Die einzelnen Komponenten der Simulation sind wiederum Objekte, die in einem Cell-Array im Mutterobjekt gespeichert sind. Beispielhaft folgender Code: classdef Run < matlab.mixin.copyable properties param; components; end methods function obj = Run(param, models) obj.param = param; obj.createComponents(models); end end methods (Access=private) function createComponents(obj, models) % beispielhaft: obj.components{1} = sim.components.Objekt1(); obj.components{2} = sim.components.Objekt2(); % ... end end end Jetzt möchte ich, dass beispielsweise das components.Objekt1 Objekt einen Wert aus dem param Struct des sim.Run-Objekts liest. Die components-Objekte sind alles handle bzw. matlab.mixin.copyable Objekte. Ist es sinnvoll, bei der Instanziierung der components-Objekte als Eingabeparameter das "Mutterobjekt" sim.Run mitzugeben? Also beispielsweise: obj.components{1,1} = sim.component.Objekt1(obj); Da alles handle-Objekte sind, sollte ja nur die Referenz übergeben werden. Allerdings ergibt das dann eine "Endlosschleife" aus Referenzen. Run enthält Objekt1, was wiederum auf Run verweist, usw. Ist diese Methode sinnvoll, oder gibt es eine bessere? Eine weitere Frage, die losgelöst hiervon ist (wofür ich aber kein neues Thema eröffnen möchte): Ich nutze eine komplett OOP-basierende GUI, also ohne GUIDE. Irgendwo habe ich aufgeschnappt (wenn ich mich recht erinnere im Matlab FileExchange), dass Callback-Funktionen nicht als normale Objekt-Methoden erstellt werden sollen, ...

Viewing all articles
Browse latest Browse all 28441

Latest Images

Trending Articles