Bonjour,

je pense qu'il s'agit d'un problème de conception relativement standard mais je suis déjà a chercher une solution depuis un moment et j'ai essayé énormément de combinaions. Voici mon contexte :


Côté modèle :
j'ai deux classes :
Chien et Chat
Elles héritent toutes les deux d'une classe mère abstraite AAnimal.


Côté métier :
j'ai deux classes métiers :
ChienBO et ChatBO
Elles implémentent toutes les deux la même interface IAdoptable
Dans IAdoptable j'ai une méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
void apprivoiser(AAnimal animal);

Voici mon problème :
Prenons l'exemple de ChatBO.
Seule l'implémentation suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public void apprivoiser(AAnimal animal) {}
satisfait l'interface.

Or je souhaiterai plutôt implémenter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public void apprivoiser(Chat chat) {}
afin de
- pouvoir accèder à tous les attributs de mon objet Chat
- supprimer cette possibilité d'appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ChatBO.apprivoiser(Chien chien)
Quelqu'un aurait une idée à proposer ?

Merci d'avance.