Bonjour,
Je débute avec Java, et j'ai déjà réussi à faire quelque trucs sympa. Je bute sur un problème depuis quelques jours. Je vais utiliser un exemple simplifier comme dans beaucoup de tutoriel pour vous l'expliquer.
J'ai une superclass chien() qui contient quelques méthodes communes à tous les chiens. J'utilise aussi pour toute une série de race de chien une class particulière avec la class chien comme parent.
Au final, un chien à une liste de méthode comme fairelebeau(), marcher(), boire(), ...
Certaine sont générique (boire()) donc coder dans la superclass.
D'autre sont plus spécifique donc coder dans la class coresspondant à la race.
le problème est que je veux donner à une autre classe de control, le control de mon chien et qu'il puissent le controler quelque soit la race.
J'ai donc toute une série de race de chien possédant toujours les même méthode, les générales dans la class parent chien et les plus spécifique dans la class correspondant à sa race.
J'usqu'ici, je déclarais mon chien (par exemple) comme ceci
Labrador chien = new Labrador();
et je l'envoyais à mon gardien (gardien.addChien(chien); qui le récupérais comme ca
public void addChien(Chien chien) {...
Mais mon gardien n'a pas accés au méthode spécifique de mon chien.
Je voudrais éviter de créer un gardien particulier par race de chien.
Je sais absolument pas si mon problème est clair, c'est pas facile de l'expliquer.
Je pense tenter d'utiliser une interface, ainsi je pourrais déclarer mon chien :
InterfaceChien chien = new Labrador();
mais alors je n'ai pas accès au méthode générale.
Je ne vois pas comment avoir accés à la fois au méthode générale (je ne veux pas les redéfinir dans chaque race) et au méthode particulière.
Merci de votre aide si vous avez compris mon problème. Sinon, précisez ce qui est compréhensible je détaillerais le reste.
Partager