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 

Neuling, was bringen mir Klassen, LVOOP



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!

24.02.2012, 13:40
Beitrag #7

Kiesch Offline
LVF-Stammgast
***


Beiträge: 401
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
RE: Neuling, was bringen mir Klassen, LVOOP
Für die Addition zweier Zahlen würde ich jetzt nicht zwingend Klassen verwenden (wurde wahrscheinlich nur als Beispiel genutzt zur einfachen Anschauung). Was Klassen aber leisten können ist dir ein Interface zur Verfügung zu stellen, auf das du ganz definiert zugreifst. Das heist zum einen: Bei richtiger Nutzung von Klassen kannst du Datenintegrität programmatisch sicherstellen.
Wie funktioniert das? Ganz einfach: Da du auf Klassen im Prinzip immer durch Methoden zugreifst (auch wenn du einfach nur einen Wert setzen willst) bzw. zugreifen solltest; kann diese Methode eben einfach um einen Integritätscheck erweitert werden und dann zum Beispiel das schreiben gezielt zurückweisen. So werden einige Sachen die du sonst später für jedes Programm neu prüfen müsstest (vor oder nach dem Schreiben) schon auf Unterster Ebene durch deine Klassendefinition erledigt.

Außerdem erlauben es dir Klassen den Datentyp deiner Eingabedaten (in die Klasse) und Ausgabe Daten (was die Klasse wieder ausgeben kann) unabhängig von der internen Speicherung zu machen. Das ist besonders dann ganz schick wenn du später eine Änderung vornehmen willst / musst.

Simpelbeispiel:
Du hast eine Klasse Integer-Array definiert, die aus zwei Attributen - einem Array von Integer Werten und einer Array Länge - besteht. Nun kannst du eine Methode definieren mit der du das Array setzt indem du ein Integer Array reingibst. Genauso kannst du aber auch das gleiche Array setzen indem du ein Str. Array eingibst (als repräsentation von Integers) und in der Methode die Typkonvertierung nach Integer vornimmst - passiert dann alles "unter der Haube" und das hast als Coder nur einmal den Aufwand.

Genauso fällt dir vermutlich auch irgendwann auf, dass du die Array Länge garnicht speichern müsstest. Entsprechend entfernst du das Attribut. Bei einem Normalen Cluster würde jetzt alles was darauf aufbaut (das die Array Länge gespeichert ist) nichtmehr funktionieren, in diesem Fall musst du lediglich in der Zugriffsmethode die Array Länge bestimmen lassen statt wie bisher das Attribut auszulesen - und schon funktioniert wieder jegliches Programm.


Persönlich merke ich das ich in LVOOP sehr viel kleinere Methoden Schreibe, als VIs / SubVIs ohne OOP. Das kann ein Vorteil sein, muss aber nicht (mehr VIs, dafür deutlich übersichtlicher).

Und dann ist da noch die Veerbung. Denke das ist in dem Verlinkten Webcast ganz gut erklärt und da wird denke ich auch klar warum das Praktisch ist.

Gruß Kiesch

P.S: Ich würde LVOOP nicht für unnütz erklären, finde es selbst sogar sehr praktisch. Einziges Problem ist meiner Meinung nach, dass die Klassen gegenüber Textbasierten Sprachen deutlich weniger Vorteile bringen.

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Neuling, was bringen mir Klassen, LVOOP - Kiesch - 24.02.2012 13:40

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Klassen mit komprimierten Bibliotheken 83DM 1 5.601 09.08.2016 13:45
Letzter Beitrag: BNT
  Klassen verbinden oryx 4 9.450 07.05.2015 15:33
Letzter Beitrag: oryx
  CS++ - A LVOOP Actor based Framework BNT 18 26.624 14.03.2015 14:26
Letzter Beitrag: BNT
  Zugriff auf Textlabels in Klassen cpinkle 12 18.156 09.09.2014 11:52
Letzter Beitrag: Kiesch
  Dateiorganisation mit Klassen - Verzeichnis umbennen? Kiesch 0 7.249 05.02.2014 13:19
Letzter Beitrag: Kiesch
  LVOOP und DAQmx - Resource ist reserviert Sundypha 2 9.649 13.08.2012 12:42
Letzter Beitrag: Sundypha

Gehe zu: