Hallo,
vielleicht kann mir jemand bei diesem (hier stark vereinfachten) Problem helfen:
Es existiert eine Klasse A, welche eine private Variable _X hat. Ich kann diese Klasse vom Code her nicht verändern, sie muss also als fest angenommen werden. Ausserdem sind innerhalb von A Funktionen, die auf _X zugreifen.
Ich muss jetzt die Funktionalität von A via extend in B erweitern. In B muss ich den Wert von _X ändern können.
Wie bekomme ich Zugriff auf die private Variable von A aus B?
Wenn ich die Sichtbarkeit von _X änder auf public funktioniert via super._X alles problemlos. Aber das ist leider keine Option.
[highlight=Java]
public abstract class A
{
// [...]
private String _X = new String();
// [...]
}
[/highlight]
[highlight=Java]
public class B extends A {
//[...]
protected B()
{
super._X = "blubb";
}
//[...]
}
[/highlight]
Vielen Dank für jede Hilfe im Voraus und Grüße
Der Berliner
vielleicht kann mir jemand bei diesem (hier stark vereinfachten) Problem helfen:
Es existiert eine Klasse A, welche eine private Variable _X hat. Ich kann diese Klasse vom Code her nicht verändern, sie muss also als fest angenommen werden. Ausserdem sind innerhalb von A Funktionen, die auf _X zugreifen.
Ich muss jetzt die Funktionalität von A via extend in B erweitern. In B muss ich den Wert von _X ändern können.
Wie bekomme ich Zugriff auf die private Variable von A aus B?
Wenn ich die Sichtbarkeit von _X änder auf public funktioniert via super._X alles problemlos. Aber das ist leider keine Option.
[highlight=Java]
public abstract class A
{
// [...]
private String _X = new String();
// [...]
}
[/highlight]
[highlight=Java]
public class B extends A {
//[...]
protected B()
{
super._X = "blubb";
}
//[...]
}
[/highlight]
Vielen Dank für jede Hilfe im Voraus und Grüße
Der Berliner