Exercice Java corrigé affichage et comparaison d’objets – toString, equals, tutoriel & guide de travaux pratiques en pdf.
Programmer la hiérarchie de classes « Rectangle coloré héritant de Rectangle » (vue en cours) en obéissant aux contraintes suivantes :
- La classe Rectangle possède les attributs double largeur et hauteur.
- La classe RectangleColore hérite de Rectangle et possède un attribut couleur de type String
- Le code résultant doit pouvoir être testé avec le programme principal suivant :
class ToStringEq { public static void main(String[] args) { System.out.println("Test 1 :"); Rectangle rect = new Rectangle(12.5, 4.0); System.out.println(rect); System.out.println(); System.out.println("Test 2: "); // le type de rect1 est RectangleColore // l'objet contenu dans rect1 est de type RectangleColore RectangleColore rect1 = new RectangleColore(12.5, 4.0, "rouge"); System.out.println(rect1); System.out.println(); System.out.println("Test 3 :"); // le type de rect2 est Rectangle // l'objet contenu dans rect2 est de type RectangleColore Rectangle rect2 = new RectangleColore(25.0/2, 8.0/2, new String("rouge")); System.out.println(rect2); System.out.println (rect1.equals(rect2)); // 1. System.out.println (rect2.equals(rect1)); // 2. System.out.println(rect1.equals(null)); // 3. System.out.println (rect.equals(rect1)); // 4. System.out.println (rect1.equals(rect)); // 5. } }
- et produire alors la sortie :
Test 1 : Rectangle : largeur = 12.5 hauteur = 4.0 Test 2: Rectangle : largeur = 12.5 hauteur = 4.0 couleur = rouge Test 3 : Rectangle : largeur = 12.5 hauteur = 4.0 couleur = rouge true true false false false
- Les méthodes toString et equals nécessaires ne doivent pas comporter de duplication de code.
La correction exercice Java (voir page 2 en bas)