|
|
Die Verwaltung und das Zusammenspiel von Objekten |
|
mathphys |
Forum-Century
|
|
Beiträge: 130
|
|
|
|
Anmeldedatum: 03.06.11
|
|
|
|
Wohnort: Deutschland
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.07.2011, 14:15
Titel: Die Verwaltung und das Zusammenspiel von Objekten
|
|
|
|
|
Hallo
ich kapiere das mit der objektorientierten Programmierung in matlab nicht richtig.
Man hat für jede Klasse ein Verzeichnis (welches den selben Namen tragen muss wie die Klasse) welches mit einem @-Zeichen beginnen muss.
Wenn ich nun beispielsweise ein Programm schreiben will mit drei Objekten, also drei Klassen.
1. Klasse soll Daten verwalten,
2. Klasse soll Berechnungen mit den Daten machen, die aus Klasse 1 kommen,
3. Klasse soll Ergebnisse aus Klasse 2 interpretieren und entsprechende Ausgaben machen
Bedeutet dass, dass ich in die drei @-Klassenordner jeweils eine matlab Datei erstelle, welche die Aufgaben durchführt?
Benötigt es dann eine vierte Datei um zu steuern wie die Klassen arbeiten oder wie spielt das zusammen?
Wenn ich später mit guide etwas graphisches Programmieren will, kann man dann an die graphischen Objekte, z.B. Buttons auch auf solche Klassen verweisen?
Ich habe die links zur OOP angesehen, steige aber gar nicht dahinter, vor allem nicht wie das zusammen spielt.
Danke für Hilfe
Grüsse
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.07.2011, 16:59
Titel:
|
|
|
|
|
Hallo,
Zitat: |
Man hat für jede Klasse ein Verzeichnis (welches den selben Namen tragen muss wie die Klasse) welches mit einem @-Zeichen beginnen muss. |
Nein. Nur wenn du in 2007b oder einer älteren Version arbeitest.
Warum willst du in deiner Anwendung 3 Klassen definieren?
Bis jetzt liest sich das so, als ob es sich gut in einer Klasse mit verschiedenen Methoden machen ließe.
Letztlich schaffst du mit der Klasse bzw. den Klassen nur eine solide Basis für die eigentliche Anwendung. Die eigentliche Anwendung wird also in einer separaten Datei stehen und auf die Klasse(n) Bezug nehmen. Ziel ist es jedoch i.a., den Code der eigentlichen Anwendung (und ähnlicher Anwendungen) recht einfach zu halten, da der hauptsächliche Programmieraufwand bereits in die Klasse gesteckt wurde.
Eigene Objekte sind Variablen wie alle anderen auch. Es besteht also generell kein Problem, Objekte in Verbindung mit GUIs zu verwenden. Was genau du mit deinem letzten Satzteil (insbesondere "verweisen") meinst, ist mir jedoch nicht klar.
Grüße,
Harald
|
|
|
mathphys |
Themenstarter
Forum-Century
|
|
Beiträge: 130
|
|
|
|
Anmeldedatum: 03.06.11
|
|
|
|
Wohnort: Deutschland
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.07.2011, 13:18
Titel:
|
|
Mein oberstes Anliegen ist einfach, dass das Programm nicht als "Spaghetti-Code" geschrieben wird. Insbesondere, weil nach mir andere Menschen an dem Programm weiter arbeiten sollen und es evtl. Änderungen geben wird.
Ist eine einzige Klasse da wirklich sinnvoll?
_________________
Besser ne Taube auf'm Dach als nen Stuhl inner Kiste
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 11.07.2011, 14:49
Titel:
|
|
Hallo,
wenn die Schritte 2 und 3 nur in Verbindung mit Daten aus Schritt 1 durchgeführt werden, dann meines Erachtens ja.
Normalerweise versucht man, eine Klasse innerhalb einer Datei zu erstellen. Sollte das zu umfangreich werden, kann man das auch aufspalten, siehe
http://www.mathworks.com/access/hel.....matlab_oop/brfynrp-1.html
Grüße,
Harald
|
|
|
|
|
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 - 2024
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.
|
|