Bonjour,
Alors j'ai souci avec les cast.
C'est pas trop compliqué à comprendre mais à expliquer, c'est autre chose...
Voici donc un exemple, qui sera plus parlant :
- J'ai une classe de base, MyClass, qui définit des méthodes de base pour un objet quelconque.
- Une autre classe MyClassExtended extends MyClass est définie pour y ajouter d'autre méthodes, qui seront utilisées pour une application bien précise.
- J'ai aussi une classe "outil" MyClassTools qui permet, par exemple, de gérer des tableau de MyClass, etc.
Dans cette classe justement, il existe une méthode retournant un tableau de MyClass, qu'on appelera simplement myMethod(). Mon problème est le suivant :
J'utilise un tableau de MyClassExtended.
Si je veux utiliser myMethod() pour ce tableau, comment doit-je m'y prendre ?
J'ai essayé :
et forcément, ça ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MyClassExtended []tab = (MyClass) myMethod();
En fait je voudrai surtout que myMethod() retourne n'importe quelle classe extends MyClass, si vous voyez ce que je veux dire. Un peu comme ArrayList<? extends MyClass>, mais en tableau...
Note : dans myMethod(), j'utilise bien sûr qu'uniquement les méthodes de MyClass...
J'espère m'avoir fais comprendre.
Merci !
Partager