polymorphisme

a marqué ce sujet comme résolu.

Bonjour,

Dans le tuto sur le polymorphisme : https://zestedesavoir.com/tutoriels/646/apprenez-a-programmer-en-java/557_java-oriente-objet/2698_les-classes-abstraites-et-les-interfaces/#2–8621_les-interfaces

Lorsque le tuto explique la meilleure solution pour que les chiens puissent appeler les methodes faireLeBeau(), faireCalins() il est écrit que mettre ces méthodes dans la classe Chien cassent le polymorphisme :

Dans ce cas, on n’a qu’à mettre ces méthodes dans la classe Chien, mais j’y vois deux problèmes : vous allez devoir mettre en place une convention de nommage entre le programmeur qui va utiliser vos objets et vous. Vous ne pourrez pas utiliser la méthode faireCalin(), alors que le programmeur oui ; si vous faites cela, adieu au polymorphisme ! Vous ne pourrez pas appeler vos objets par le biais d’un supertype. Pour pouvoir accéder à ces méthodes, vous devrez obligatoirement passer par une référence à un objet Chien. Pas terrible, tout ça !

Je ne comprends pas pourquoi puisqu elles sont spécifiques à Chien. D’autre part je ne comprend pas pourquoi on ne pourrait utiliser la méthode faireCalin() alors que le programmeur oui.

Merci de votre aide.

Cordialement,

Olivier

+0 -0

Ce tuto introduit en douceur l’héritage multiple (chut il ne faut pas dire qu’il existe sous une forme travestie en Java) via les interfaces multiples.

Le rédacteur du tuto veut faire comprendre que faireLeBeau et faireDesCalins ne sont pas des services possibles chez tous les animaux. Donc, il introduit une sous-catégorie qui permet cela. Et ainsi les chiens peuvent être manipulés via cette sous-famille indépendante des animaux.

Ne cherche pas à creuser plus, aucune modélisation OO du vivant ne peut être propre. Il y a des simplifications et il ne sert à rien de creuser. Car comment gérer les manchots qui sont des piafs qui ne peuvent pas voler, hein?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte