Héritage en Java

publicité
EILCO ING 1 - POO Java –
TP 2014/2015
Héritage en Java
Nous allons dans cet exercice utiliser les capacités d’héritage du langage Java afin de définir une
classe Cercle puis une classe Cylindre qui héritera de la classe originale.
l’héritage en Java
Le diagramme UML de la classe Cercle est le suivant, la valeur de rayon positionnée à 1.0
est la valeur pour le constructeur par défaut ainsi que l’attribut couleur.
Cercle
- rayon : double = 1,0
- couleur: String = "RED"
+ Cercle()
+ Cercle(rayon : double)
+ getRayon() : double
+ getSurface() : double
+ setCouleur(String : c)
+ getCouleur() : String
Créer+ une
classe: String
Test qui utilise l
toString()
La valeur de pi est fournie par la constante Math.PI en java.
Testez votre classe Cercle avec plusieurs cas de Cercle.
Comme un cylindre peut être "vu" comme un cercle possédant une certaine
hauteur, nous allons utiliser cette caractéristique pour créer une classe
Cylindre qui héritera de la classe Cercle.
Il n’y aura qu’un seul attribut nouveau : la hauteur du cylindre.
Cylindre
- hauteur : double
+ Cylindre()
+ Cylindre(rayon : double)
+ Cylindre (raon : double, hauteur double)
+ getHauteur() : double
+ getVolume() : double
+ toString() : String
Écrire la classe Cylindre en java héritant de la classe Cercle avec les éléments suivants :
1. pour le constructeur par défaut, la hauteur sera positionnée arbitrairement à la valeur 1.0
2. le calcul du volume utilisera bien évidemment le calcul de la surface du cercle
3. la méthode toString() retournera la hauteur du cylindre, sa couleur, la surface de sa base
ainsi que son volume (cf exemple ci-dessous)
public static void main(String [] args){
Cylindre cy1 = new Cylindre();
Cylindre cy2 = new Cylindre(5.0,2.0);
System.out.println(cy1);
System.out.println(cy2);
}
Cylindre de rayon: 1.0 hauteur: 1.0 couleur: RED
surface de la base: 3.141592653589793 volume: 3.141592653589793
Cylindre de rayon: 5.0 hauteur: 2.0 couleur: RED
surface de la base: 78.53981633974483 volume: 157.07963267948966
Extension : Représentation graphique
Nous savons maintenant manipuler des cercles et des cylindres de manière virtuelle. Nous allons
étendre nos classes de manière à les représenter graphiquement sur une fenêtre. Vous devez bien
évidemment être familiarisé avec la manipulation graphique en Java
Nous allons utiliser les informations suivantes :
•
dans la classe Cercle rajouter des attributs x et y qui positionneront le cercle sur l’écran à ces
coordonnées, vous pourrez bien évidemment modifier les constructeurs en conséquence
•
rajouter dans la classe Cercle une méthode dessine() qui dessine le cercle sur l’écran dans la
couleur contenue dans l’attribut couleur
•
faites de même pour la classe Cylindre
•
vous aurez certainement besoin de créer des classes supplémentaires pour la gestion de la
denere
Téléchargement