Bonjour,
Je me pose la question suivante, quelle est la meilleure manière de développer le cas suivant :
- une classe abstraite n'a pas de valeur pour un certain champs
- les enfants (qui sont plusieurs ) ont ce champs et il a une valeur
- ce champs est final
- le getChamps fait toujours la même chose

Feriez vous :

1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
abstract class 1{
    final int idType;
...
    public getIdType(){
        return idType;
    }
    protected 1(int idType){
        this.idType = idType;
    }
}
class 2 extends 1{
...
    public 2(){
        super(valeur_de_l'id_type);
    }
}
ou :

2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
abstract class 1{
    public abstract getIdType();
}
class 2 extends 1{
    final int idType = 5;
...
   public getIdType(){
        return idType;
    }
}
Ou autre chose ?

Dans le 1) ce qui m'embete c'est qu'on perd en lisibilité et qu'on définit la variable final dans le constructeur, et dans le 2) c'est de devoir écrire n fois la même fonction getIdType(), bref aucune des deux solutions ne me satisfait.

Que feriez vous ?