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

Klassenvariablen verstecken/ how to hide class properties

 

Gast202020

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 09:57     Titel: Klassenvariablen verstecken/ how to hide class properties
  Antworten mit Zitat      
Hallo zusammen,

wie kann ich eine Klassenvariable für eine Instanz "unsichtbar" machen, bzw. löschen?

Code:

%Das hier funktioniert leider nicht

clear testclass.testvariable;
 


Beste Grüße
Gast


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.08.2011, 12:42     Titel:
  Antworten mit Zitat      
Hallo,

Die Sichtbarkeit von Properties wird normalerweise auf Klassenebene über Attribute geregelt, z.B.

Code:
properties (GetAccess = Private)
myprop
end


Das betreffende Property steht dann nur intern zur Verfügung.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast202020

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 13:31     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

Die Sichtbarkeit von Properties wird normalerweise auf Klassenebene über Attribute geregelt, z.B.

Code:
properties (GetAccess = Private)
myprop
end


Das betreffende Property steht dann nur intern zur Verfügung.

Grüße,
Harald


Hallo Harald,

in meinem Skript benutze ich die Klasse nicht nur für die Berechnung sondern auch als "Datenkontainer". Ich gebe mir als Ergebnis also die Instanz zurück in den Workspace. Damit werden auch sämtliche private properties sichtbar, und genau das wollte ich vermeiden. Mir fällt als Idee jetzt nur ein, das ich anstatt der Klasse nur ein struct zurückgebe mit den entsprechenden Informationen. Das würde aber wieder mehr schreibarbeit bedeuten. Ich meine wenns nicht anders geht mach ich es so.

Beste Grüße
Gast
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.08.2011, 14:50     Titel:
  Antworten mit Zitat      
Hallo,

vielleicht verstehe ich es ja falsch, aber das
Zitat:
Ich gebe mir als Ergebnis also die Instanz zurück in den Workspace. Damit werden auch sämtliche private properties sichtbar, und genau das wollte ich vermeiden.

stimmt meines Erachtens nicht. Ich habe das gerade ausprobiert, und ich komme an die Eigenschaften nicht ran bzw. nur, wenn ich das Objekt mit STRUCT in eine Struktur umwandle.

Was spräche dagegen, das Property stattdessen auf [] oder ähnliches zu setzen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast202020

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 15:18     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

vielleicht verstehe ich es ja falsch, aber das
Zitat:
Ich gebe mir als Ergebnis also die Instanz zurück in den Workspace. Damit werden auch sämtliche private properties sichtbar, und genau das wollte ich vermeiden.

stimmt meines Erachtens nicht. Ich habe das gerade ausprobiert, und ich komme an die Eigenschaften nicht ran bzw. nur, wenn ich das Objekt mit STRUCT in eine Struktur umwandle.

Was spräche dagegen, das Property stattdessen auf [] oder ähnliches zu setzen?

Grüße,
Harald


Hallo Harald,

meine Klasse hat die entsprechenden Methoden um die private properties zu editieren. Zumindestens funktioniert das während des ausführens, im workspace habe ich es nicht ausprobiert.
Zu deiner Idee die properties auf [] zu setzen, finde ich nicht schlecht. Doch dann sieht alles so ungekonnt aus, oder ist das nur mein spinnerter Eindruck?

Besten Dank fürs mitgrübeln.

Grüße
Gast
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.08.2011, 15:21     Titel:
  Antworten mit Zitat      
Hallo,

du kannst ja bei Methoden wie DISPLAY dafür sorgen, dass solche leeren Eigenschaften nicht mit angezeigt werden. Und wer hinter die Kulissen schaut, muss eben mit dem leben, was er dann zu sehen bekommt.

Grüße,
Harald
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.