JAVA , appele des méthodes
Fermé
kadis500
Messages postés
33
Date d'inscription
dimanche 26 août 2007
Statut
Membre
Dernière intervention
21 avril 2012
-
28 déc. 2011 à 16:52
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 déc. 2011 à 17:54
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 28 déc. 2011 à 17:54
A voir également:
- JAVA , appele des méthodes
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
1 réponse
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
Modifié par KX le 28/12/2011 à 18:26
Modifié par KX le 28/12/2011 à 18:26
Sauf dans des cas très précis (pour redéfinir des méthodes de la classe Object, ou pour identifier les types templates par exemple), tu ne devrais pas avoir de instanceof dans ton code !
Il y a très certainement un problème de conception dans ta structure de classe.
Par exemple ici, n'y a pas de raison que ajout soit une méthode de l'interface MatriceCarree, elle devrait plutôt être une méthode d'une interface Matrice dont hériterait MatriceCarree et les autres.
Voici le genre d'arborescence qui paraît un peu plus adapté à ton problème :
Il y a très certainement un problème de conception dans ta structure de classe.
Par exemple ici, n'y a pas de raison que ajout soit une méthode de l'interface MatriceCarree, elle devrait plutôt être une méthode d'une interface Matrice dont hériterait MatriceCarree et les autres.
Voici le genre d'arborescence qui paraît un peu plus adapté à ton problème :
interface Matrice<E> { public void ajouter(Matrice<E> m); } interface MatriceCarree<E> extends Matrice<E> { public double determinant() throws ArithmeticException; } class MatriceTableau<E> implements Matrice<E> { @Override public void ajouter(Matrice<E> m) { } } class MatriceCreuse<E> implements Matrice<E> { @Override public void ajouter(Matrice<E> m) { } } class MatriceCarreTableau<E> extends MatriceTableau<E> implements MatriceCarree<E> { @Override public double determinant() throws ArithmeticException { return 0; } } class MatriceCarreCreuse<E> extends MatriceCreuse<E> implements MatriceCarree<E> { @Override public double determinant() throws ArithmeticException { return 0; } }La confiance n'exclut pas le contrôle