Bonjour,

Je me permet de poster sur votre forum suite à une discution avec mes collègues.

Je n'ai jamais eu de formation POO 'officiel' et j'ai tout appris sur le tas... et cette après-midi j'ai eu l'impression d'être le seul à suivre la logique d'héritage.

Prenons une notion d'héritage très simple, que je vous schématise brievement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
        [    Légume    ]
           |         |
[Choux fleur]       [Carotte]
Vous l'aurez compris "Légume" est un objet (ou une interface d'ailleurs...) dont "Choux fleur" ainsi que "Carotte" hérite.

Voici pour 'moi' (et j'espère que je ne suis pas à coter de la plaque depuis toute ces années) comment réagit la notion d'héritage :

1. Si je déclare une variable étant de type 'Légume' je pourrais placer une variable de type 'Choux fleur' ou 'Carotte' sans aucun problème à l'intérieur.

2. Si je déclare une variable étant de type 'Carotte' il m'est impossible de placer une variable de type 'Légume' a l'intérieur (certaine proprietés/méthodes de l'héritié ne PEUVENT PAS être connue depuis ancêtre !!!).

Voilà, pour moi ces deux règles me paraissent tout à fait logique et être les fondations de l'héritage dans la POO, mais pour mes collègues l'affirmation N°2 est fausse ! qu'en pensé vous ? qui as raison ?

PS: J'ai même crut les entendres dire que la règles N°1 n'était pas LOGIQUE !!! j'espère avoir mal entendu... merci d'éclairer ma lanterne