|
|
Normale Funktionen in OOP |
|
Nicolas S. |
Forum-Century
|
|
Beiträge: 146
|
|
|
|
Anmeldedatum: 15.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014a/b
|
|
|
|
|
|
Verfasst am: 15.07.2009, 14:06
Titel: Normale Funktionen in OOP
|
|
|
|
|
Hallo zusammen,
ich bin gerade dabei, in objektorientiere Programmierung in Matlab einzusteigen- mit der "klassischen" Programmierung bin ich eigentlich sehr vertraut, aber hier sieht noch alles fremd und wild aus. Ich habe folgendes Problem:
Ich habe eine handle - Klasse definiert, bei der eine Methode auf eine Funktion zurückgreifen muß, die als "Gewöhnlichen Matlab Funktion" (call by value) programmiert wurde, wobei der Rückgabewert in der Methode weiterverwendet wird. Die Funktion, nennen wir sie der Einfachheit halber:
ist sehr ausgefuchst, in einer eigenen m-Datei und greift ihrerseits auf viele andere "gewöhnliche" Matlab-Funktionen in jeweils eigenen m-Dateien zu.
In der methode will ich sie weiterverwenden in der Form:
Gibt es eine Möglichkeit, diese Funktionen innerhalb des Klassen-Ordners und zugleich "private" zu halten, ohne die Funktionen großartig umzuschreiben?
Was funktioniert, ist die funktion calcSomething als "static" und "private" zu erklären, wobei sie aber 1. mit a = Klasse.calcSomething(b) aufgerufen werden muß und 2. auch alle Unterfunktionen in einzelnen m-Dateien als static erkärt und mit der Punkt-Schreibweise aufgerufen werden müssen.
|
|
|
|
|
Comboni |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 14.10.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 16.02.2010, 16:06
Titel:
|
|
Nicolas S. hat Folgendes geschrieben: |
Hallo zusammen,
[...]
Gibt es eine Möglichkeit, diese Funktionen innerhalb des Klassen-Ordners und zugleich "private" zu halten, ohne die Funktionen großartig umzuschreiben?
|
Hallo,
Da ich auch neu bei oop programmiere, lerne ich auch dabei. Ich würde das so machen:
Erstmals die Klasse in einem @Class Ordner speichern, und alle andere Methoden (function calcSomething, function refreshMesh) die zu der Klasse "Class" gehören in dem selben Ordner als separate m-Dateien speichern. Danach in der Klasse die Methoden als Private definieren.
z.B.:
Gruss
|
|
|
Nicolas S. |
Themenstarter
Forum-Century
|
|
Beiträge: 146
|
|
|
|
Anmeldedatum: 15.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014a/b
|
|
|
|
|
|
Verfasst am: 02.03.2010, 18:32
Titel:
|
|
Hallo zusammen,
vielleicht sollte ich den alten Thread mal schließen.
Daß Funktionen selbst innerhalb ihrer Klasse mit ihrem Klassen- oder Packagenamen aufgerufen werden muessen habe ich mitlerweile durch den exzessiven Einsatz von "embedded"-Funktionen gelöst; so bleiben massige Aufrufe kurzer Funktionen im Rahmen gewöhnlicher Schreibarbeit. (Gibt es eigentlich einen guten Texteditor, der im 2-Spalten-Modus anzeigen kann? Mein Bildschirm ist sehr breit aber nur niedrig :-) ).
Viele Grüße
Nicolas
_________________
--
The programmer suggested it.
|
|
|
MatLabNooB |
Forum-Guru
|
|
Beiträge: 262
|
|
|
|
Anmeldedatum: 27.03.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.08.2011, 05:32
Titel:
|
|
Hi,
hab jetzt ein ziemlich ähnliches Problem, ich ersetzte momentan teilweise meinen Code mit OOP. Jetzt ist es so, dass ich innerhalb einer Klasse einen Pushbutton generiere und dieser soll eine Funktion in meinem normalen Code abfeuern, allerdings scheint der Pushbutton diese funktion nicht zu sehen? Ich denk, wenn Class methods aus normalen Funktionen heraus gestartet werden können, warum nicht umgekehrt?
gruß
|
|
|
MatLabNooB |
Forum-Guru
|
|
Beiträge: 262
|
|
|
|
Anmeldedatum: 27.03.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.08.2011, 20:42
Titel:
|
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 26.08.2011, 09:18
Titel:
|
|
Hallo,
wo ist da Zusammenhang zu Threadopener-Frage. Bitte neues Thema aufmachen, und deine Frage korrekt schildern. In Thread sind nur Fragen und Antworten zu Threadopener-Frage erlaubt. Danke!
|
|
|
|
|
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.
|
|