EXO-JAVA-Interfaces
Description
Le programme doit implémenter un système de formes géométriques avec deux aspects distincts :
- Le calcul des propriétés géométriques (aire, périmètre)
- La représentation visuelle des formes (dessin dans la console)
Interfaces à créer
- Interface
Calculable:
- Permet le calcul des propriétés géométriques d'une forme
- Méthodes requises :
calculerAire(): retourne l'aire de la forme en doublecalculerPerimetre(): retourne le périmètre de la forme en double- Les implémentations doivent assurer des valeurs positives
- Les calculs nécessitent une précision de 0.001
- Interface
Dessinable:
- Permet la représentation visuelle d'une forme
- Méthodes requises :
dessiner(): affiche une représentation ASCII de la forme dans la consoleobtenirDescription(): retourne une description textuelle de la forme- Les implémentations doivent :
- Créer un rendu ASCII adapté aux dimensions
- Fournir une description claire et concise
- Gérer les cas limites (formes très grandes ou très petites)
Classes à implémenter
- Créer les classes suivantes qui implémentent les deux interfaces :
Cercle(rayon)Rectangle(longueur, largeur)Triangle(base, hauteur)
- Chaque classe doit :
- Implémenter les méthodes de calcul géométrique
- Implémenter les méthodes de dessin (représentation ASCII dans la console)
- Gérer la validation des données
Démonstration du polymorphisme multiple
- Créer une classe
GestionnaireFormesqui peut :
- Manipuler une liste de formes en tant que
Calculable - Manipuler une liste de formes en tant que
Dessinable - Démontrer l'utilisation séparée des deux aspects
Contraintes techniques
- Utiliser le package
com.humanbooster.exercices - Documenter le code avec des commentaires JavaDoc
- Implémenter une gestion propre des erreurs
Fonctionnalités attendues
- Création de différentes formes géométriques
- Calcul des propriétés géométriques
- Affichage des formes dans la console (bonus)
Bonus
- Implémenter l'interface
Comparablepour trier les formes - Ajouter une interface
Transformablepour redimensionner les formes - Sauvegarder et charger des formes depuis un fichier
Description
Languages
Java
100%