Héritage "ascendant" possible ?
Je me posais une petite question vis-à-vis de l'héritage.
Code:
1 2 3 4 5 6
|
class A {
int a;
int b;
String c;
} |
Code:
1 2 3 4
|
class B extends A {
} |
On peut donc faire
Mais pas
Jusque là, tout va bien. Cependant, j'aimerai réaliser un objet fils plus restrictif que son père.
Autrement dit, si mon père possède les attributs a,b,c, je veux que mon fils ne travaille qu'avec b.
Alors, d'accord avec cette hiérarchie, j'ai accès à b (et aux autres). Mais si je veux construire mon fils à partir d'un père déjà initialisé, comment faire ?
exemple :
A::a = 1;
A::b = 2;
A::c = "toto";
J'aimerai pouvoir faire un new B() en ayant B::b = 2 également.
Comment faire ?
Je pensais à quelque chose du genre :
Code:
1 2 3 4 5 6
|
class B extends A {
B (A pere) {
b = pere.b;
}
} |
Y a-t-il une autre solution ?