Bonjour à tous ,
suis un vrai débutant en java et j'ai assez de connaissance en C et C++ mais j'ai quelque problème sur l'organisation des fichiers !! i-e en C et en C++ il y a une séparation distincte des fichiers .h (prototypes) et .c(cpp) des définitions !!
i n'y a qu'un seul fichier main et pour inclure on fait include "nom_dufichier.h"!!
mais en java , j'au dû mal à comprendre !!
voici un exemple simple :
premier code et dans un même fichier :
a noter que Cercle hérite de la classe Point !!
Autre remarque c'est que la classe Cercle est inclu dans l'accolade englobante de la classe Point !!!
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 public class Point { public Point(double x, double y){this.x = x ; this.y = y ;} public void deplace(double dx , double dy){this.x += dx;this.y +=dy;} public double getX(){return x;} public double getY(){return y;} public void affiche() { System.out.println("Point de Cordonnés :" + x +","+ y); } private double x, y; public static void main(String[] args) { // TODO Raccord de méthode auto-généré Cercle c = new Cercle(3 , 8, 2.5); c.affiche(); c.deplaceCentre (1, 0.5); c.changeRayon(5.25); c.affiche(); Point a = c.getCentre(); a.affiche(); } public class Cercle extends Point { public Cercle(double a,double b,double r) {super(a,b); this.rayon = r;} public void deplaceCentre(double dx,double dy) { super.deplace(dx, dy); } public void changeRayon(double r) { rayon = r ; } public Point getCentre() { Point Centre = new Point(getX(),getY()) ; return Centre; } public void affiche() { System.out.println("Cercles de Centre :" + getX() +","+ getY() + "de rayon"+ rayon); } private double rayon ; } }
resultat : on m'affiche çà
deuxième tentative en faisant de la classe Cercle exteriuer i-e détaché de l'accolade fermante de la Classe Point !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Aucune instance englobante du type Point n'est accessible. Vous devez qualifier l'affectation avec une instance englobante du type Point (par exemple, x.new A(), où x correspond à une instance de Point). 8O
le resultat :
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 public class Point { public static void main(String[] args) { // TODO Raccord de méthode auto-généré Cercle c = new Cercle(3 , 8, 2.5); c.affiche(); c.deplaceCentre (1, 0.5); c.changeRayon(5.25); c.affiche(); Point a = c.getCentre(); a.affiche(); } } public class Cercle extends Point { private double rayon ; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2le type public Cercle doit être défini dans son propre fichier 8O
merci d'avance pour vos réponses !!
Partager