|
|
Was passiert im Code bei der Objekterzeugung |
|
Helmut_Kern |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 07.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.12.2020, 11:03
Titel: Was passiert im Code bei der Objekterzeugung
|
|
Hallo,
ich habe folgenden Code den ich gerne verstehen möchte:
Folgende Fragen dazu:
1. Im obersten Block, was passiert hier:
Vermutung: durch den Sim_para(1.0) Befehl sollte ich ein Objekt der Klasse Sim_para
erstellen, dem ich gleichzeitig den Wert 1.0 , also seinem Attribut "Value" zu weise.
Was ich dann allerdings nicht verstehe: links davon habe ich ein Objekt der Klasse Sim_Sys stehen. Dem Attribut sys.para.value_1 ordne ich nun das Objekt der Sim_para Klasse zu?
Diesen Zirkel verstehe ich nicht ganz?
2.
Eckige Klammern bedeuten doch eigentlich, das ich etwas n-dimensionales erzeuge?
So ganz steige ich noch nicht durch.
Danke für Eure Tipps
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.12.2020, 12:51
Titel:
|
|
|
|
|
Hallo,
1.
ich würde es etwas anders formulieren:
durch den Sim_para(1.0) Befehl sollte ich ein Objekt der Klasse Sim_para
erstellen, bei dem die Eigenschaft value den Wert 1.0 hat.
Sofern nicht in einem anderen Code-Teil anders festgelegt, wird sys.para eine Struktur mit Feld value_1, das den Wert Sim_para(1.0).
Ich finde diese Form der Schachtelung ungut. Insbesondere sehe ich keinen Grund für die zusätzliche Hierarchisierung und ich würde es vermeiden, Strukturen in Eigenschaften von Objekten zu speichern. Wenn, dann sollten Objekte in den Eigenschaften von Objekten gespeichert werden.
2.
[] werden auch für mehrere Rückgabeargumente einer Funktion verwendet. Da es hier aber nur ein Rückgabeargument gibt, sind die Klammern unnötig. Sie schaden aber auch nicht.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Helmut_Kern |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 07.12.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.12.2020, 16:14
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
Sofern nicht in einem anderen Code-Teil anders festgelegt, wird sys.para eine Struktur mit Feld value_1, das den Wert Sim_para(1.0).
|
Hallo Harald,
nett von Dir das Du mir hilfst.
Ich frage mich, wenn man ein Objekt der Klasse Sim-para erstellt, dem Attribut Sim_para.value den Wert 1 zuordnet und diesen dann übergibt, warum dann nicht gleich:
statt:
eben
...merkwürdig für mich
vg Helmut Kern
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.12.2020, 21:50
Titel:
|
|
Hallo,
in einem Fall wird ein Objekt zugewiesen, bei dem eine Eigenschaft 1 ist. Das Objekt hat ja auch noch andere Eigenschaften. Im anderen Fall ist es wirklich nur die Zahl 1.
Von dem, was ich sehen kann, sehe ich es aber auch so, dass das gewählte Klassen-Struct-Klassen-Konstrukt unnötig komplex ist.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|