Question sur le polymorphismes
Résolu
Creutzou
Messages postés
550
Date d'inscription
Statut
Membre
Dernière intervention
-
Creutzou Messages postés 550 Date d'inscription Statut Membre Dernière intervention -
Creutzou Messages postés 550 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis en train de me frotter gentiment au Java et à la programmation orientée objet.
Après une terminologie toute nouvelle pour moi, je ne suis pas sur de bien comprendre tous les concepts.
Donc avant d'avancer plus loin, je voudrais bien avoir l'avis de quelqu'un sur ma compréhension du polymorphismes.
donc vulgairement cela donnerait :
Ce bout de code renverrait bien ???
Je marche doucement et avec une jolie canne
je galope telle une gazelle
En vous remerciant d'avance ;)
je suis en train de me frotter gentiment au Java et à la programmation orientée objet.
Après une terminologie toute nouvelle pour moi, je ne suis pas sur de bien comprendre tous les concepts.
Donc avant d'avancer plus loin, je voudrais bien avoir l'avis de quelqu'un sur ma compréhension du polymorphismes.
donc vulgairement cela donnerait :
public class Homme { public String avance() { System.out.println("j'avance"); } } public class Papy extends Homme{ public String avance() { System.out.println("Je marche doucement et avec une jolie canne"); } } public class Ado extends Homme{ public String avance() { System.out.println(" je galope telle une gazelle"); } } public class Main(){ public static void main(String[] args){ Papy pépé = new Papy(); Ado kevin = new Ado(); pépé.avance; kevin.avance; }
Ce bout de code renverrait bien ???
Je marche doucement et avec une jolie canne
je galope telle une gazelle
En vous remerciant d'avance ;)
6 réponses
Bonjour
ça me paraît correct dans le raisonnement.
le polymorphisme étant une variante dans le comportement d'un objet
ça me paraît correct dans le raisonnement.
le polymorphisme étant une variante dans le comportement d'un objet
Donc si
on pose une class mère Maman avec une méthode a.
une class fille Fille qui hérite de Maman, dans la quelle on redéfinis la méthode a.
Selon le type de l'objet, il fera appelle à la méthode de Maman ou de Fille ?
C'est bien ça ?
on pose une class mère Maman avec une méthode a.
une class fille Fille qui hérite de Maman, dans la quelle on redéfinis la méthode a.
Selon le type de l'objet, il fera appelle à la méthode de Maman ou de Fille ?
C'est bien ça ?
tout dépendra de l'instance appelée
mais dans la classe fille, on peut faire appel à la méthode de la classe mère (via super) et l'étendre.
}
mais dans la classe fille, on peut faire appel à la méthode de la classe mère (via super) et l'étendre.
}
Imaginons que tu veuilles faire x.m() où x est un objet de la classe C.
Java va chercher dans la classe C la méthode m.
Si elle existe c'est celle-ci qui est lancée, sinon il va la chercher dans la superclasse.
Si elle existe dans la superclasse c'est celle-ci qui est lancée sinon il remonte et ainsi de suite jusqu'à trouver ou remonter à la classe Object. Si la méthode m n'existe pas tu auras une erreur.
Dans ton exemple, tu peux faire System.out.println(new Fille());
La méthode println(Object) va chercher la méthode toString dans la classe Fille, ne la trouvant pas il va chercher la méthode toString() dans la classe Mere, et comme il ne la trouvera toujours pas il utilisera la méthode toString() de la classe Object...
La confiance n'exclut pas le contrôle
Java va chercher dans la classe C la méthode m.
Si elle existe c'est celle-ci qui est lancée, sinon il va la chercher dans la superclasse.
Si elle existe dans la superclasse c'est celle-ci qui est lancée sinon il remonte et ainsi de suite jusqu'à trouver ou remonter à la classe Object. Si la méthode m n'existe pas tu auras une erreur.
Dans ton exemple, tu peux faire System.out.println(new Fille());
La méthode println(Object) va chercher la méthode toString dans la classe Fille, ne la trouvant pas il va chercher la méthode toString() dans la classe Mere, et comme il ne la trouvera toujours pas il utilisera la méthode toString() de la classe Object...
La confiance n'exclut pas le contrôle
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question