Est-il acceptable (pour les entités java et SOLID) d'étendre les classes abstraites afin de définir des propriétés à partir de la super classe? Ce que je veux accomplir est d'appliquer différentes valeurs à p2 en fonction de ce que p1 a et aussi des valeurs p3 dépendra de ce que la valeur de p2 est (quelque chose de similaire lorsque vous cascade menus déroulants). Ce scénario peut-il être traité avec un motif de conception?Définition de super-propriétés à l'aide de sous-classes abstraites
public interface Iface{
public void set_p1(int i);
public void set_p2(int i);
public void set_p3(int i);
}
public abstract class A implements Iface{
private int p1;
private int p2;
private int p3;
public void set_p1(int i){
this.p1 = i;
}
public void set_p2(int i){
this.p2 = i;
}
public void set_p3(int i){
this.p3 = i;
}
}
Ici, je mis p1 à 100
public abstract class setOne extends A {
public setOne(){
set_p1(100);
}
}
maintenant je mis p2 en fonction des valeurs de p1
public abstract class setTwo extends setOne {
public setTwo(){
//do some work using p1
set_p2(200);
}
}
maintenant j'instancier ma setTwo classe abstraite
public class TestClass extends setTwo {
public TestClass(){
super();
}
}
TestClass myObj = new TestClass();
maintenant j'attends les valeurs de objet e comme suit:
myObj.p1 = 100
et
myObj.p2 = 200;
Tout fonctionne comme ci-dessus décrivent myObj.p1 est en effet 100 et même pour myObj.p1 est 100. Je suis nouveau à java, donc je veux voir si ce que je l'ai fait avec les directeurs d'école respecte solides et avec la façon dont l'héritage est utilisé en Java. merci. –