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 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 28 déc. 2011 à 17:54
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 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
- Java décompiler - Télécharger - Langages
- Appelé en inconnu - Guide
1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
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