INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Objekt in globaler Variable



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

20.06.2012, 11:10
Beitrag #10

oenk Offline
LVF-Stammgast
***


Beiträge: 361
Registriert seit: May 2005

>= 7.1
2004
EN

3018
Schweiz
RE: Objekt in globaler Variable
Wenn du schon objekt orientiert programmieren kannst, dann empfehle ich GOOP. Das kommt der OOP IMHO am nächsten, da mit Objekten gearbeitet wird (by Reference). GOOP4 kapselt die Objekte in DVRs, was das ganze auch um einiges performanter macht als mit GOOP3 Klassen.

(20.06.2012 06:34 )Y-P schrieb:  Mein Reden. Big Grin
Ich habe bisher noch keine Aufgabenstellung gefunden, bei der es notwendig gewesen wäre, LVOOP zu verwenden, bzw. die man auch sonst ohne Probleme lösen könnte.
Kleines Beispiel:
um unsere DUTs vor den Tests zu konfigurieren gibt es verschiedene Treiber. Alle Treiber besitzten eine gleiche Anzahl Methoden (lesen, schreiben, reset, uvm), besitzen aber unterschiedliche Implementierungen/benötigen unterschiedliche APIs (C++ API, .NET Treiber v3.5, .NET Treiber v4.0 u.a.). Ich könnte jetzt (so wie wir es zu Beginn hatten) so viele VIs generieren wie es Treiber-Methoden gibt und innerhalb meine dedizierten Treiber-VIs aufrufen (über Fallunterscheidung). Nur muss ich dann jedes mal wenn ein neuer Treiber hinzukommt jedes dieser VIs öffnen und eine Fallunterscheidung hinzufügen, so dass der neue Treiber benutzt wird. Das ist alles natürlich kein Problem und funktioniert auch. Die Wartbarkeit leidet zwar, aber es geht.
Oder aber ich setzte das ganze OO um:
Man schreibe sich eine Basis-Klasse, die nur die leeren Methoden zur DUT Kommunikation enthält plus ein paar zusätzliche, generische Methoden.
Die vererbt man an dedizierte Treiber Kind-Klassen und dort drin implementiert man die explizite Kommunikation. Zur Laufzeit wird dann die Kind-Klasse instanziert, für die gerade ein Test läuft.
So weit so gut. Bis hier hin hat man sich ohne Frage mehr Arbeit aufgehalst.
Kommt jetzt aber ein weiterer Treiber hinzu, müssen die Methoden zur Kommunikation geschrieben werden (was auch im klassischen Ansatz gemacht werden muss). Nur muss ich jetzt an nur genau einer Stelle im bestehenden Code eine Anpassung vornehmen, um den neuen Treiber einzubinden!

(20.06.2012 08:23 )Y-P schrieb:  Eher z.B. der Vergleich ob man MySQL oder PostgreSQL nimmt.
Dieser Vergleich passt so auch nicht ganz: MySQL oder PostgreSQL (was ich nicht kenne) sind beides Datenbanken und beide werden über irgendwelche Queries abgefragt, nur die Syntax wird verschieden sein.

Der Vergleich OOP <-> Assembler passt vielleicht auch nicht ganz, da ein Programmierkonzept mit einem Abstaktionsgrad verglichen wird.

In theory, there is no difference between theory and practice; In practice, there is.

Chuck Reid
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Objekt in globaler Variable - Stephan - 18.06.2012, 11:56
RE: Objekt in globaler Variable - Y-P - 20.06.2012, 06:34
RE: Objekt in globaler Variable - Y-P - 20.06.2012, 08:23
RE: Objekt in globaler Variable - BNT - 20.06.2012, 08:57
RE: Objekt in globaler Variable - oenk - 20.06.2012 11:10
RE: Objekt in globaler Variable - BNT - 20.06.2012, 12:23
RE: Objekt in globaler Variable - rolfk - 22.06.2012, 13:51

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VIP 2012: Einführung in das objekt-orientierte Programmieren mit LabVIEW BNT 8 20.227 28.10.2012 18:40
Letzter Beitrag: Y-P
  Zugriff von Objekt auf Objekt dessen Attribut es ist Kiesch 1 9.676 26.10.2011 10:28
Letzter Beitrag: Kiesch
  Objekt-Orientiertes Programmieren mit LV8.5 robertow 1 9.339 16.08.2008 23:10
Letzter Beitrag: eg

Gehe zu: