Java et heritage
athena21
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
choubaka Messages postés 5526 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 5526 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
- Jeux java itel - Télécharger - Jeux vidéo
- Jeux java itel touche ✓ - Forum Mobile
- Waptrick java football - Télécharger - Jeux vidéo
- Maison héritage canapé avis - Forum Consommation & Internet
- Waptrick java bible - Forum Téléchargement
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
5526
Date d'inscription
Statut
Modérateur
Dernière intervention
2 113
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é.