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

Zwei Konstruktoren in einer Klasse

 

Maddi1986
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 19.08.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2008, 09:08     Titel: Zwei Konstruktoren in einer Klasse
  Antworten mit Zitat      
Hallo zusammen.

Ich möchte in Matlab zwei Konstruktoren in einer Klasse definieren:
Code:

       function obj = StorageManager(MeasurementInformation)
           obj.MeasurementInformation = MeasurementInformation;
       end
       
       function obj = StorageManager()
           obj.MMeasurementInformation = [];
       end
 


Leider erhalte ich die Fehlermeldung 'StorageManager appears to be incompatible used or redefined'. Ist es in Matlab nicht möglich mehrere Konstruktoren in einer Klasse zu definieren? Wäre um hilfe sehr dankbar.

Viele Grüße
Maddi1986
Private Nachricht senden Benutzer-Profile anzeigen


joekey
Forum-Century

Forum-Century


Beiträge: 169
Anmeldedatum: 03.04.08
Wohnort: Wien
Version: 2011b
     Beitrag Verfasst am: 15.09.2008, 20:54     Titel:
  Antworten mit Zitat      
Hallo,

meines Wissens nach, kann in Matlab eine Klasse immer nur einen Konstruktor haben. So kannst du aber die Erstellung der Objekte, abhängig von der Anzahl der Input Argumente steuern:

Code:

classdef cStorageManager < handle
%CSTORAGEMANAGER Summary of this class goes here
%   Detailed explanation goes here

   properties
       MMeasurementInformation
   end

   methods
       function obj = cStorageManager(MeasurementInformation)
           switch nargin
               case 0
                   obj.MMeasurementInformation = [];
               case 1
                   obj.MMeasurementInformation = MeasurementInformation;
               otherwise
                   % some other instructions
           end
       end  
   end
end
 


Code:

% test

a = cStorageManager();
disp(a);

b = cStorageManager(123);
disp(b);
 


LG Joe
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.