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