|
|
Zugriff auf private properties |
|
stealth_mx |
Forum-Fortgeschrittener
|
|
Beiträge: 94
|
|
|
|
Anmeldedatum: 15.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2013b
|
|
|
|
|
|
Verfasst am: 04.03.2015, 14:21
Titel: Zugriff auf private properties
|
|
Hallo zusammen,
habe mir mal dieses Beispiel angeguckt und dabei auf eine Sache gestoßen die ich nicht verstehe:
http://de.mathworks.com/company/new...../news_notes/2008/oop.html
Ich habe mir ein einfaches Beispiel nachgebaut:
Habe mir eine Klasse erstellt und die ID einfachmal auf private gesetzt. Ich gehe nun davon aus, dass ich nur durch den Konstruktor einmalig die ID setzten kann.
Erstellung eines Objekts im Command Window:
Nun wenn ich nach dem "Testobjekt PUNKT" Tab drücke kann ich die "ID" sehen. Zugriff gibt jedoch eine Fehlermeldung aus.
Meine Frage:
Warum zeigt er überhaupt die ID an, wenn sie auf private ist?
Was mich dann noch wundert ist, dass ich die ID einfach so ändern kann:
Wo habe ich einen Fehler gemacht? Denn nach meinem Ablauf bringt mir private nichts. Da ich trotzdem vollen Zugriff habe.
Grüße
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 04.03.2015, 18:46
Titel:
|
|
Hallo,
Zitat: |
Habe mir eine Klasse erstellt und die ID einfachmal auf private gesetzt. Ich gehe nun davon aus, dass ich nur durch den Konstruktor einmalig die ID setzten kann. |
Das stimmt nicht ganz. Private properties können von Klassenmethoden überschrieben / abgefragt werden, aber nicht von außerhalb.
Zitat: |
Nun wenn ich nach dem "Testobjekt PUNKT" Tab drücke kann ich die "ID" sehen. |
Bei mir, unter R2014b, nicht.
Zitat: |
Was mich dann noch wundert ist, dass ich die ID einfach so ändern kann: |
Du hast GetAccess beschränkt. Für das Überschreiben ist aber SetAccess das entscheidende.
Grüße,
Harald
|
|
|
stealth_mx |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 94
|
|
|
|
Anmeldedatum: 15.06.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2013b
|
|
|
|
|
|
Verfasst am: 04.03.2015, 20:54
Titel:
|
|
Hallo, danke für die Antwort
also bei mir zeigt er das in der Version 2013b an. Das führte mich dann auch in die Richtung das es nicht ganz richtig sein kann.
Gut danke, denke kann mir das jetzt zusammenreimen.
|
|
|
|
|
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.
|
|