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é
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() ;
    }
 
}
pour l'affichage ça donne
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