goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:


Fachkräfte:
Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

Support-Ingenieur (w/m) für die dSPACE-Echtzeitsysteme
Diagnose von Anwenderproblemen, Erarbeitung von Lösungen, Konzeption geeigneter Testaufbauten und Simulationsmodelle
dSPACE GmbH - Paderborn

Softwareentwickler (w/m) Konzeption für Multiprozessorsysteme
Erstellen von Anforderungsspezifikationen, Konzeption, Datenmodellierung und Definition von Softwareschnittstellen
dSPACE GmbH - Paderborn

weitere Angebote

Partner:




Vermarktungspartner


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, 10: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: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 04.08.2011, 13: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, 14: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: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 04.08.2011, 15: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, 16: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: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 04.08.2011, 16: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



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.