WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Übergeordnete Objekt-Struktur in Abh. von object properties

 

Sporisha
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 05.02.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.06.2015, 11:06     Titel: Übergeordnete Objekt-Struktur in Abh. von object properties
  Antworten mit Zitat      
Hallo zusammen,

Meine ersten Versuche mit OOP laufen etwas schleppend.. Laughing
Habe eine Klasse definiert, deren Objekte ich nun in einer übergeordneten Struktur einpflegen möchte.

Code:
classdef Item

    properties
        EquipmentPlace;
        EquipmentName;
        variable1;
        variable2;
        variable3;
    end
   
   
    methods
        function obj = Item(EquipmentPlace,...
                            EquipmentName,...
                            variable1,...
                            variable2,...
                            variable3)
            if (nargin > 0)
                obj.EquipmentPlace   = EquipmentPlace;
                obj.EquipmentName  = EquipmentName;
                obj.variable1            = variable1;
                obj.variable2            = variable2;
                obj.variable3            = variable3;
            end
        end
    end
end
 



Nun möchte ich jedes Objekt automatisch in folgende Struktur schreiben:
Code:
Equipment.(obj.EquipmentPlace).(obj.EquipmentName) = obj


Wenn ich ein Objekt erstellt habe und diesen Befehl ins CommandWindow eingebe funktionierts einwandfrei. Ich möchte aber, dass es automatisch für jedes Objekt der Klasse gemacht wird.
Also hab ich eine neue Methode geschrieben und in der Klassendefinition eingefügt.
Code:
   function Equipment = genstruct(obj)
        Equipment.(obj.EquipmentPlace).(obj.EquipmentName) = obj;
    end



Mein Problem:
Ich muss nun jedes mal die Methode genstruct(obj) anwenden, um das gewünschte Ergebnis zu erhalten (siehe Code). Gibt es dafür eine andere Möglichkeit, wodurch die Methode genstruct wegfällt?
Code:
Equipment = genstruct(Item('Kopf','Hut',1,2,3))

Außerdem müsste ich der Struktur Equipment irgendwie einen index geben, sobald ich den selben Befehl ein zweites mal für ein anderes Objekt anwende, da Equipment sonst einfach überschrieben wird... bekomms aber leider nicht hin Sad Irgendwas muss da doch grundlegend falsch sein oder?



Und noch eine andere Frage nebenbei:
Ist es möglich, im Constructor alle properties automatisch an das Objekt zu hängen? Es werden noch sehr viel mehr properties hinzukommen, die Constructor Methode würde also ziemlich lang werden.


Hoffe jemand kann mir helfen Smile
Grüße, Andy
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.