|
|
Funktionsaufruf im "private"-Kontext |
|
Nicolas S. |
Forum-Century
|
|
Beiträge: 146
|
|
|
|
Anmeldedatum: 15.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014a/b
|
|
|
|
|
|
Verfasst am: 01.02.2010, 09:17
Titel: Funktionsaufruf im "private"-Kontext
|
|
Hallo zusammen,
ich habe noch ein Problem mit Access-Restriktionen (hängt mit dem folgenden Thread zusammen:
http://www.gomatlab.de/viewtopic,p,37132.html#37132 )
Ich habe eine Klasse mit einer einer properties mit "Access = private" oder "Access = protected". Nun ist es mein innigstes Verlangen, eine Methode einer Überklasse darauf zugreifen zu lassen. In etwa so:
Dummerweise läuft die Methode von classA immer im Kontext von classA, nicht im Kontext von classB, so daß ich auf die Variable "fingerweg" nicht zugreifen kann. Gibt es eine Möglichkeit, die Methode einer Überklasse im Kontext der Unterklasse laufen zu lassen?
Viele Grüße
Nicolas
_________________
--
The programmer suggested it.
|
|
|
|
|
Titus |
Forum-Meister
|
|
Beiträge: 871
|
|
|
|
Anmeldedatum: 19.07.07
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.03.2010, 11:21
Titel:
|
|
Hallo Nicolas,
hmm, gebe zu, dass ich noch nicht das Problem verstanden habe.
fingerweg ist eine Property von classB? Damit kennt classA sie natürlich nicht. Mehrere Auswege (je nach dem, wie es "passt"):
- fingerweg an fkt als Parameter übergeben
- fingerweg nach classA verschieben
- eine abstrakte Methode getFingerWeg in classA definieren, die in classB (und anderen abgeleiteten) implementiert wird
Ciao,
Titus
|
|
|
Nicolas S. |
Themenstarter
Forum-Century
|
|
Beiträge: 146
|
|
|
|
Anmeldedatum: 15.07.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014a/b
|
|
|
|
|
|
Verfasst am: 02.03.2010, 18:26
Titel:
|
|
|
|
|
Hallo Titus, hallo alle anderen,
Zweck der ganzen Geschichte ist es, eine Überklasse zu haben, die all ihren Unterklassen einen "copy"-Befehl zur Verfügung zu stellen, mit dem Ziel in "handle"-Klassen mit
eine komplette Kopie des Inhaltes des Objekts A in Objekt B abzulegen. (Der Ansatz dazu ist ja in dem anderen Thread verlinkt.)
Dummerweise hat die Überklasse, die den "copy"-Befehl stellt, keinerlei Zugriff auf properties in Unterklassen, die "private" oder "protected" sind - und kann sie damit nicht kopieren (weder lesen- noch schreibenderweise). Damit müßte ich den "copy"-Befehl in jeder Klasse neu schreiben, was aus zwei Gründen isdiskutabel ist:
1. Der Befehl ist ewig lang
2. Der Befehl braucht persistente Variablen
Also ist mein Stand, daß ich Objekte aus "handle"-Klassen, bei denen properties entweder lese- oder schreibgeschützt sind mit meiner Methode nicht kopieren kann.
Mitlerweile habe ich es allerdings auch aufgegeben und habe einfach in allen Klassen, die dazu infrage kommen, kopiert zu werden, allen Lese- und Schreibschutz aufgehoben.
Viele Grüße
Nicolas
_________________
--
The programmer suggested it.
|
|
|
|
|
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.
|
|