ça se passe comment l'organisation des fichiers source en java
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 !!
Code:
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 ;
}
} |
Autre remarque c'est que la classe Cercle est inclu dans l'accolade englobante de la classe Point !!!
resultat : on m'affiche çà
Code:
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 |
deuxième tentative en faisant de la classe Cercle exteriuer i-e détaché de l'accolade fermante de la Classe Point !!
Code:
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 ;
} |
le resultat :
Code:
1 2
|
le type public Cercle doit être défini dans son propre fichier 8O |
merci d'avance pour vos réponses !!
:arf: