salut encore une fois et désolé pour le dérangement , en ce moment je lis le livre programmer en java declaude delannoy 5éme édition et je suis dans la partie héritage et comme je suis débutant j'arrive pas a comprendre quelque exemples , voila ou je suis bloqué
pour l'affichage ça donne
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 package test; class Point{ public void initialise (int abs, int ord){ x = abs ; y = ord ; } public void deplace (int dx, int dy){ x += dx ; y += dy ; } public void affiche (){ System.out.println ("Je suis en " + x + " " + y) ; } private int x, y ; } // classe derivee de Point class Pointcol extends Point{ public void colore (byte couleur){ this.couleur = couleur ; } private byte couleur ; } public class Test { public static void main(String [] args) { Pointcol pc = new Pointcol() ; pc.affiche() ; pc.initialise (3, 5) ; pc.colore ((byte)3) ; pc.affiche() ; pc.deplace (2, -1) ; pc.affiche() ; Point p = new Point() ; p.initialise (6, 9) ; p.affiche() ; } }
Je suis en 0 0
Je suis en 3 5
Je suis en 5 4
Je suis en 6 9
ce que je comprends pas c'est que dans la classe de base y ' a deux attributs x et y qui sont private et comme vous m'avez dis qu'on hérite pas les private , mais dans cet exemple lors de l'apel de la methode pc.affiche() elle affiche bien x et y de l'objet pc alors qu'il sont private dans la classe de base.
ce qui est dans ma tête pour cette exemple que l’objet pc contient
x
y
les méthodes affiche initialise deplace
est ce que c'est juste
Partager