Bonjour ,
Une question me taraude.
Pourquoi dans une méthode main , je ne peux pas appliquer la méthode afficheC () de la classe PointCouleur en utilisant le polymorphisme comme ci dessous :
Point c = new PointCouleur (2 ,5 ,(byte)3);
c.afficheC ();
Je me retrouve bien avec un Objet de type Point qui référence Un PointCouleur?
Alors que si je fais :
Point c = new PointCouleur (2 ,5 ,(byte)3);
c.affiche () ;
je fais bien appel à la méthode affiche de la classe PointCouleur , pourquoi je peux appliquer la méthode affiche et ne peut pas appliquer la methode afficheC.
merci
Ces sources sont tirées du Livre de Delannoy .
Question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Classe Point public class Point { private int x ; private int y ; public Point() { } public Point (int x , int y ){ this.x = x; this.y = y; } public void affiche (){ System.out.println ("je suis en " + x + " " + y ); } } public class PointCouleur extends Point { private byte couleur ; public PointCouleur(int x , int y , byte couleur) { super (x,y); this.couleur = couleur; } public void affiche(){ super.affiche(); System.out.println (" et ma couleur est : " + couleur); } public void afficheC (){ System.out.println (" et ma couleur est : " + couleur); } }
Partager