Images

Images

Exercices

  1. L’interface Image pourrait contenir les méthodes suivantes :

    On pourrait aussi rajouter un nom à l’image avec un getter (String getName()) ou encore une méthode pour avoir le rapport de forme (double getAspectRatio()) renvoyant le rapport entre la largeur et la hauteur de l’image.

  2. Le plus propre pour tester cela est de créer une méthode dédiée pour tester qu’une matrice n’a pas des dimensions nulles.

  3. Là aussi, le plus simple est de créer un méthode dédiée :

    On peut donc changer le constructeur en :

  4. Pour que l’utilisateur puisse différencier les erreurs, il suffit de mettre des messages différents expliquant l’erreur comme cela a été fait dans le code ci-dessus.

  5. Il y a du code dupliqué au niveau de la hauteur et la largeur mais aussi au niveau de la matrice : les deux classes contiennent une matrice.

  6. Cela donne les classes suivantes :

  7. Afin de factoriser le code, on crée une nouvelle classe AbstractImage qui regroupe les parties communes entre les images : essentiellement le fait d’avoir une hauteur et une largeur.

    On remplace l’ancienne classe AbstractImage par la classe suivante :

    Pour la classe SparseImage, cela nous donne la classe suivante :