Bonjour
Pour illustré plus ou je veux en venir j’ai fait un petite exemple :
D’après moi dans le maïeur des cas elle devra donnés la possibilité
De ne pas récrire le même code de la même méthode dans toutes les classes
Donc si j’utilise une interface dans la classe Etudiant_salarier en devra pouvoir redéfinir tout c’est méthode de plus de réutilise le Code de la méthode dans la classe Etudiant et Salarier et de Personne dans 1 seul méthode de la classe Etudiant_salarier et tous sa sans le réécrire (le code).
Ce qui serais bien c’est que je puise accède de Etudiant_Salarier à la classe Etudiant (de la méthode EnCoure(); )et je pourrai accèdes à la classe Personne grâce a l’héritage !.
En claire je me demandés si le faite d’implémenter une interface dans plusieurs classe Réagit comme un Héritage (peu être multiple).
Voila des liens qui peu vous aidez à comprendre ce que je veux dire par la :
http://www.developpez.net/forums/d68...ceptuels-code/
Ou :
http://www.developpez.net/forums/d68...entation-code/
Mais je ne suis pas arrivé si quelqu’un peu donnée des ides.
voici le code ou je fait met Test:
sur les classe Perssone, Etudiant, Salarier, et Etudiant_Salarier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 package com.dz.IHM; public interface IPersonne { public void Manger(); public void Courir(); public void Dormir(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 package com.dz.IHM; public interface IEtudiant { public void Reviser(); public void EnCoure(); public void Reflechir(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 package com.dz.IHM; public interface ISalarie { public void EnTravaille(); public void Payement(); public void RealiseProjet(); }
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 import com.dz.IHM.IPersonne; public abstract class Personne implements IPersonne { //abstract POUR Quoi ? public Personne(){ System.out.println("Le Constructeur de Personne"); } public void Courir() { System.out.println("je suis la Méthode Courir de Personne"); } public void Dormir() { System.out.println("je suis la Méthode Dormir"); } public void Manger() { System.out.println("je suis la Méthode Manger"); } /* Sacha que Concéptuelement un EtudiantSalarie == Personne */ /* ***********Méthode(Comportement)par défaut des Etudiant********* */ public void EnCoure() { System.out.println("je suis la Méthode EnCoure de Personne"); } public void Reflechir() { System.out.println("je suis la Méthode Reflechir de Personne"); } public void Reviser() { System.out.println("je suis la Méthode Reviser de Personne"); } /* **************************************************************** */ /* ***********Méthode(Comportement)par défaut des Salarie********* */ public void EnTravaille() { System.out.println("je suis la Méthode EnTravaille de Personne"); } public void Payement() { System.out.println("je suis la Méthode Payement de Personne"); } public void RealiseProjet() { System.out.println("je suis la Méthode RealiseProjet de Personne"); } /* **************************************************************** */ }
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 import com.dz.IHM.IEtudiant; public class Etudiant extends Personne implements IEtudiant { public void Courir() { System.out.println("je suis la Méthode Courir de Etudiant"); } public void EnCoure() { super.EnCoure(); System.out.println("je suis la Méthode EnCoure de la classe Etudiant"); } public void Reflechir() { System.out.println("je suis la Méthode Reflechir"); } public void Reviser() { System.out.println("je suis la Méthode Reviser"); } }La classe « EtudiantSalarie» :
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 import com.dz.IHM.ISalarie; public class Salarie extends Personne implements ISalarie { public void EnCoure() { super.EnCoure(); System.out.println("je suis la Méthode EnCoure de la classe Etudiant"); } public void EnTravaille() { System.out.println("je suis la Méthode EnTravaille"); } public void Payement() { System.out.println("je suis la Méthode Payement"); } public void RealiseProjet() { System.out.println("je suis la Méthode RealiseProjet"); } }
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 import com.dz.IHM.IEtudiant; import com.dz.IHM.IPersonne; import com.dz.IHM.ISalarie; public class EtudiantSalarie extends Personne implements IPersonne, IEtudiant, ISalarie { public EtudiantSalarie(){ super(); System.out.println("Le Constructeur de EtudiantSalarie"); } public void Courir() { super.Courir(); System.out.println("je suis la Méthode Courir de EtudiantSalarie"); } public void Dormir() { System.out.println("je suis la Méthode Dormir"); } public void Manger() { System.out.println("je suis la Méthode Manger"); } public void EnCoure() { super.EnCoure(); System.out.println("je suis la Méthode EnCoure de EtudiantSalarie"); } public void Reflechir() { System.out.println("je suis la Méthode Reflechir"); } public void Reviser() { System.out.println("je suis la Méthode Reviser"); } public void EnTravaille() { System.out.println("je suis la Méthode EnTravaille"); } public void Payement() { System.out.println("je suis la Méthode Payement"); } public void RealiseProjet() { System.out.println("je suis la Méthode RealiseProjet"); } }pour résumé:
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 import com.dz.IHM.IEtudiant; public class Test { /** * @param args */ public static void main(String[] args) { System.out.println("je suis la Méthode Main"); IEtudiant p = new EtudiantSalarie(); //p.Courir(); p.EnCoure(); /* Grace aux l'interface je peu utiliser touts les métode des classe qui l'implémante cette interface */ } }
Si c'est possible d'aller direct à et en même Temps à
Etudiants et salarie puis par héritage a personne
Pour ne pas ce retapés le code des méthode de Etudiant et Salarie dans la Classe EtudiantSalarie
Si c’est possible des données une idées ou solution en Java.
Merci d’avance.
Partager