Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
algo de sélection, au secours
Envoyé par: alexkif

Programmation objet

Voici l'algo vu en cours, algo traité par un compilateur style javac ou c++:

1/ Collecter l'ensemble des méthodes nommées "m" à partir du type déclaré, y compris les méthodes "m" des sur-types.

2/ Eliminer les méthodes qui n'ont pas le même nombre de parramètres.

3/ On élimine les méthodes tel que les paramètres ne sont pas compatibles avec les types déclarés des paramètres.

4/ Evaluation des coûts de conversion pour chacune des méthodes restantes.

5/ Résolution de la liaison dynamique à partir du type réel de x, on cherche la 1 ere méthode qui correspond exactement à la signature sélectionnée par la surcharge. Puis on l'execute.


[type déclaré] x = new [type réel]();

-----------Java--------------

interface Nourriture{}
interface Herbe extends Nourriture{}

class Animal {
public void mange(Nourriture v) {
System.out.println("Viande");
}
}

class Lapin extends Animal {
public void mange(Herbe h) {
System.out.println("Herbe");
}
}

Animal a = new Lapin();
Herbe h = new Herbe();
a.mange(h);

------------------------------

Expliquer pourquoi l'objet "a" mange de la viande.

------------------------------

Je trouve que a mange de l'herbe ... au secours j'ai un exam demain et soit j ai pas compris soit il y a une erreur ds mon cours ou ds l exo ??? Je ne veux pas de supositions, mais une réponse claire de quelqu un connaissant parfaitement ll'algorithme de sélection. Merci d'avance de votre aide

Poste le Sunday 4 February 2007 18:22:13
Répondre     Citer    
Re: algo de sélection, au secours

mange() fait appel à la classe de base et non de la la classe dérive
Pour que ton lapin mange de l'herbe il faut que ta fonction mange() "override" celle de ta classe de base

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Sunday 4 February 2007 19:45:14
Répondre     Citer    
Re: algo de sélection, au secours
Envoyé par: alexkid

OUi c est bien ça, c'est la bonne réponse, mais ça ne colle pas avec l'étape 5 de l'algorithme.

5/ Résolution de la liaison dynamique à partir du type réel de x, on cherche la 1 ere méthode qui correspond exactement à la signature sélectionnée par la surcharge. Puis on l'execute.

Si je comprends bien cette étape, je dois prendre en priorité

public void mange(Herbe h) {
System.out.println("Herbe");
}

puisque je dois regarder à partir du type réel qui est Lapin.

Poste le Sunday 4 February 2007 20:25:05
Répondre     Citer    
Re: algo de sélection, au secours
Envoyé par: AlSim

Sans vraiment connaitre Java, je pense que ça te donnera la réponse : [deptinfo.cnam.fr]

[catwell.info]

Poste le Sunday 4 February 2007 21:26:46
Répondre     Citer    
Re: algo de sélection, au secours
Envoyé par: alexkid

Merci pour le lien ... je l'étudie en détail ... mais j ai toujours pas compris ...

Poste le Sunday 4 February 2007 21:55:45
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
algo de sélection, au secours
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons