DarkLord a écrit a écrit :
Tu sais tu peux ecrire si tu veux
Object o = new String("coucou" );
C'est le but de l'héritage. Suppose que tu travailles avec des Fruits. Tu as donc une interface Fruits avec des méthodes comme getCouleur(), isBon(), hasPelure() enfin tout ce que tu veux.
Dans certaines parties de ton programme tu veux travailler avec un fruit quel qu'il soit.
Bin clariement tu vaus faire
doSomething(Fruit theFruit)
tu passes une interface en param? NON une interface ne peut etre instanciée. Par contre tu peux etre SUR que l'objet qui est passé en paramètre implémente fruit. Donc tu sais qu'à tout les coups tu vas pouvoir appeller les méthodes déclarées dans l'interface.
Et pour répondre à ta question lorque tu fais
ServletConfig c = get ....
Tu déclares travailler avec un objet qui implémentes ServletConfig (ie qui subclasse/implménete servletconfig)
est ce plus clair?
|
Ouais, mais ce qui me perturbais, c que dans l'héritage "classique", comme en C++ (le langage que je pratique depuis maintenant un an).
Si tu passe un type d'objet en param, ça veut dire que tu passes cet objet, ou un objet qui en hérite, c tout.