Java et heritage
athena21
Messages postés
75
Date d'inscription
Statut
Membre
Dernière intervention
-
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je suis débutante en java j'ai crée une classe Point :
class Point
{
private double x,y;
public Point(double x, double y){this.x=x; this.y=y;}
public void deplace(double dx, double dy){ x+=dx; y+=dy;}
public void affiche(){
System.out.println("Point de coordonn'ees "+x+" "+y);
}
public double getX(){ return x; }
public double getY(){ return y; }
}
je veux réaliser une classe Cercle, derivant de point, definie par un
centre et un rayon et disposant des methodes suivantes :
- un constructeur recevant en argument les coordonnees du centre du cercle
et son rayon,
- deplaceCentre pour modifier les coordonnees du centre du cercle
- changeRayon pour modifier le rayon du cercle
- getCentre qui fournit un objet de type Point correspondant au centre du
cercle
- affiche qui affiche les coordonnees du centre du cercle et son rayon
pouvez-vous s'il vous plait m'aider?
Cordialement.
class Point
{
private double x,y;
public Point(double x, double y){this.x=x; this.y=y;}
public void deplace(double dx, double dy){ x+=dx; y+=dy;}
public void affiche(){
System.out.println("Point de coordonn'ees "+x+" "+y);
}
public double getX(){ return x; }
public double getY(){ return y; }
}
je veux réaliser une classe Cercle, derivant de point, definie par un
centre et un rayon et disposant des methodes suivantes :
- un constructeur recevant en argument les coordonnees du centre du cercle
et son rayon,
- deplaceCentre pour modifier les coordonnees du centre du cercle
- changeRayon pour modifier le rayon du cercle
- getCentre qui fournit un objet de type Point correspondant au centre du
cercle
- affiche qui affiche les coordonnees du centre du cercle et son rayon
pouvez-vous s'il vous plait m'aider?
Cordialement.
A voir également:
- Java et heritage
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
Bonjour,
L'utilisation de l'héritage me paraît quand même bancale. D'un point de vue strictement informatique, cela peut fonctionner si on considère qu'un cercle n'est jamais qu'un point (le centre) possédant une périphérie.
Par contre, d'un point de vue mathématique, cela signifierait qu'un cercle est un point...
Il me semblerait plus judicieux de créer une nouvelle classe, Cercle, n'héritant pas de Point mais dont un des membres serait un Point :
Xavier
L'utilisation de l'héritage me paraît quand même bancale. D'un point de vue strictement informatique, cela peut fonctionner si on considère qu'un cercle n'est jamais qu'un point (le centre) possédant une périphérie.
Par contre, d'un point de vue mathématique, cela signifierait qu'un cercle est un point...
Il me semblerait plus judicieux de créer une nouvelle classe, Cercle, n'héritant pas de Point mais dont un des membres serait un Point :
class Cercle { private double rayon; private Point centre; public Cercle(double x, double y, double rayon) { this.centre = new Point(x, y); this.rayon = rayon; } public void deplaceCentre(double dx, double dy) { this.centre.deplace(dx, dy); } public void changeRayon(double dr) { this.rayon += dr; } public Point getCentre(){ return this.centre; } public void affiche() { System.out.println("Cercle de centre " + this.centre.getX() + " " + this.centre.getY() + " et de rayon " + this.rayon); } }
Xavier
choubaka
Messages postés
39442
Date d'inscription
Statut
Modérateur
Dernière intervention
2 105
en effet, c'est pas faux ;-)
Salut
public class Cercle extends Point {
private double rayon;
public Cercle (double x, double y, double rayon){
super(x, y);
this.rayon = rayon;
}
public void deplaceCentre ( double x, double y){
super.deplace(x,y);
}
public void changeRayon(double rayon){
this.rayon = rayon;
}
public Point getCentre(){
return new Point(x, y);
}
public void affiche(){
System.out.println("Point de coordonnées ="+ x + "," + y + ", "Rayon = " rayon";
}
}
en gros c'est ça, mais je n'ai pas compilé.
public class Cercle extends Point {
private double rayon;
public Cercle (double x, double y, double rayon){
super(x, y);
this.rayon = rayon;
}
public void deplaceCentre ( double x, double y){
super.deplace(x,y);
}
public void changeRayon(double rayon){
this.rayon = rayon;
}
public Point getCentre(){
return new Point(x, y);
}
public void affiche(){
System.out.println("Point de coordonnées ="+ x + "," + y + ", "Rayon = " rayon";
}
}
en gros c'est ça, mais je n'ai pas compilé.