Onita a écrit :
Merci pour ta réponse même si elle quelque peu agressive...
Bien avant d'avoir eu mon cours sur l'héritage et l'implémentation, j'avais fait EXACTEMENT comme tu as dit le seule souci c'est qu'à la fin du cours, il nous a demandé d'intégrer l'implémentation dans cette exercice : Notion que j'ai du mal à saisir malgré les nombreux cours que j'ai pu lire sur le net.
Lorsque mon prof nous a présenté son cours, il nous a pas donné d'exemple concret donc j'ai eu du mal a saisir quand utiliser quoi.
Donc si tu es sur qu'il n'y aura pas d'implémentation je vais le faire sans mais bon je doute un peu quand même...
Est ce qu'il est possible de faire ceci :
Code :
- public abstract void employee();
|
|
Techniquement, c'est valide. Après, c'est une déclaration de méthode que tu fais là, donc je sais pas trop ce que tu veux faire avec.
Bon, pour revenir à l'interface, déjà, tu pourras dire à ton prof qu'il pourrait faire un effort et vous trouver des exemples et exercices ou ca sert vraiment, histoire que vous puissiez voir par vous-meme...
Pour faire simple, l'interface, comme son nom l'indique, ca définit juste les méthodes que tu vas pouvoir appeller.
Si tu veux en utiliser une dans ton exercice, ca sera pour l'employé. Tu auras:
- une interface Employe, qui va définir les getters/setters pour nom, prénom, adresse, ville, dans ce style là (je condense le code, ajoutes le reste, mets des commentaires toussa, et je sais plus s'il y a besoin de mettre public ou autre chose devant les méthodes):
Code :
- public interface Employe {
- void setNom(String nom);
- String getNom();
- }
|
- une classe EmployeImpl, qui implémente Employe et devra donc fournir une implémentation de toutes ses méthodes. Tu peux la mettre abstraite comme avant:
Code :
- public abstract class EmployeImpl implement Employe {
- String nom;
- public void setNom(String nom){this.nom=nom;}
- public String getNom(){return nom;}
- }
|
- après tu reprends les classes que tu avais déjà pour les types d'employés, qui vont hériter de EmployeImpl.
Et c'est gagné. Enfin, je suppose que c'est ca que ton prof veut; tu pourrais aussi implémenter l'interface directement dans chaque classe "finale" mais c'est un peu con vu qu'il faudra que tu recopies l'implémentation des getters/setters dans chaque classe.
---------------
C'était vraiment très intéressant.