ÉDITÉE:Java étend les classes - Partager les champs de classe au sein de la super étendues classe
Droit au but ... J'ai une classe
public class P_Gen{
protected String s;
protected Object oP_Gen;
protected Object oP_Gen2;
public P_Gen(String str){
s = str;
oP_Gen = new MyClass(this);
oP_Gen2 = new MyClass2(this);
}
}
classe étendue:
public class P extends P_Gen{
protected Object oP;
public P(String str){
super(str);
oP = new MyClass(this);
}
}
MyClass:
public class MyClass{
protected Object oMC;
public MyClass(P extendedObject){
this.oMC = extendedObject.oP;
}
}
MaClasse2:
public class MyClass2{
protected Object oMC2;
public MyClass(P_Gen thisObject){
this.oMC2 = thisObject.oP;
}
}
La classe P_Gen indiqué ci-dessus me donne une erreur pour la ligne:
oP_Gen = new MyClass(this);
indiquant "ne peut pas trouver un constructeur de symbole MyClass (P_Gen)."
Ce que je veux accomplir est de rendre P.oP disponible de MyClass2.
Ma pensée initiale était que P.this === P_Gen.this. En d'autres termes, P_Gen disparaît lorsqu'il est appelé depuis super()
et ce qui reste n'est que P la classe étendue.
Ok ok, j'ai un tas de MyClass (1 .... x). Ils doivent tous être instanciés depuis P_Gen. Mais je veux qu'ils aient accès à P, pas seulement P_Gen. Est-ce possible? – Bastan