Objektorientiertes Programmieren mit LV
@ i2dx: Das ist eigentlich keine schlechte Idee: Die Daten eine Klasse liegen gekapselt in der Klasse und man kann in jeder Methode daraufzurück greifen und man braucht sie außerhalb der Klasse nicht durch einen Draht bewegen.
Allerdings widerspricht das der LV-Philosophie und man handelt sich leicht race-conditions ein, weil die Reihenfolge der Klassen-VI nicht per se durch den Draht des Klassenobjekts festgelegt ist. Also doch lieber Verbindungsleitungen. Aber zumindest brauchen die Klassendaten nicht jedes mal, wenn eine Methode aufgerufen wird, kopiert zu werden, so wie es mit einem einfachen Cluster passiert. Hier besteht die Möglichkeit zu Optimierung der Performance
@eg: Wenn die Klassenmethoden in einer While-Schleife untergebracht sind, muss die Klasse mit Shift-Registern durchgeschleift werden. In einer Case-Struktur muss die Klasse durch alle Cases durch. Genau so wie jede ander LV-Variable auch. Das ist eben der Datenfluss. Das Durchschleifen kann man sich nur sparen, wenn die Klasse nur gelesen wird.
Trotzdem sind die Daten der Klasse gekapselt und man kommt an sie nur über die Methoden ran.
Man kann natürlich das Klassenobjekt zu dem Datenobjekt eines XControl machen. Dann sieht es auf dem Blockdiagramm zunächst so aus, als würden man ein Klassenobjekt direkt anzeigen (Und das Blockdiagramm wird schön übersichtlich). In dem Facade-VI des XControls muss dann aber doch die Methoden der Klasse nehmen um an die Member-Daten der Klasse heranzukommen.
|