Bonjour à tous
Je debute en java et j'ai l'habitude de programmer en C++ et il 'y a un truc que je voudrai faire en java mais je n'y arrive pas.
Enfait je voudrai creer une classe toto qui ne contiendrai que des methodes virtuels(donc une interface en java si j'ai bien compris) et une fonction factory qui me retourne une référence sur un objet dérivé de la classe toto.
En gros le code C++ donnerais ca:
La string chaine permet de dire à la fonction create quel type d'objet derivé de toto elle doit creer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class toto { public: virtual void fct1(void)=0; virtual void fct2(void)=0; virtual void fct3(void)=0; static toto* create(string chaine);//Fonction factory }
Ma classe toto en java donne:
Donc voila.
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public class toto { //------------------------------------------- //Ne pas utiliser le constructeur pour instancier //un element. public toto() { } //-------------------------------------------- //Fonction factory public static toto Creer(String e) { if(main.TypeDeSaisie(e)==Constante.TUTU) { return new Tutu(e);//Constructeur de la classe Tutu dérivé //de la classe toto } else { return new Tata(e);//Idem Tata dérive de toto } } //-------------------------------------------- /*public static void main(String[] args) { // TODO Auto-generated method stub }*/ }
Merci à tous.
Partager