{Heritage} Je comprends pas... - Java - Programmation
Marsh Posté le 24-11-2003 à 17:07:23
Ben, listRoots te rend un tableau de File, pas un tableau de FileNode. Et puis, j'pense pas que tu puisses caster tous les élements d'un tableau comme une grosse brute, comme ça. Faudrait au moins énumérer les élements du tableau, et les caster un par un. Bref, de toute façon, tu peux pas caster un File en FileNode. Le contraire, oui. Par contre tu peux te faire une méthode de convertion par exemple, qui te rend un FileNode à partir d'un FileNode, ou alors créer une classe FileNodeFactory, chargée de construire des instances de FileNode, à partie d'instances de File.
Marsh Posté le 24-11-2003 à 17:14:54
mouais.... c'est bien chiant tout ca...
c pourtant un truc tout con que je veux faire ! juste redefinir une methode!
Tant qu'a faire autant encapsuler un fichier ce serait plus simple? Et je redefinis les methodes dont j'ai besoin...
Style :
Code :
|
trop bourrin?
Marsh Posté le 24-11-2003 à 17:16:41
les [ ] dans les titres c'est pas bien (ça cache le nom de la sous-catégorie)
Marsh Posté le 24-11-2003 à 17:26:48
spitagor a écrit : mouais.... c'est bien chiant tout ca... |
ouais mais le problème c'est que t'as pas saisi le principe de l'héritage en java je pense ...
et non, ta 2e méthode n'est pas trop bourrin mais elle ne règle pas le problème : c'est toujours un tableau de File que tu tetourne et pas un tableau de FileNode
Marsh Posté le 24-11-2003 à 17:40:03
en fait c juste que j'ai voulu faire de la compatibilité ascendante.... bon je vais faire une fonction de conversion alors... t vraiment sur qu'il n'y a pas d'autre moyen? Je trouve ca un peu lourd au vu de ce que je veux faire mais bon...
Marsh Posté le 24-11-2003 à 17:43:34
pkoi tu ferais pas une NodeFile qui hérite de File et qui surcharge les méthodes list() pour retourner des tableaux de NodeFile plutot que de File ?
Marsh Posté le 24-11-2003 à 17:54:04
mais ca ne ferait pas que deplacer le probleme?
Code :
|
tu parlais de quelle methode list? celle sui renvoie une String? ou listFiles?
Marsh Posté le 24-11-2003 à 18:12:03
spitagor a écrit : mais ca ne ferait pas que deplacer le probleme? |
oui, le code sera le même mais il sera fait à l'intérieur de FileNode, ce qui est bien plus logique puisque c'est sa fonction.
spitagor a écrit : tu parlais de quelle methode list? celle sui renvoie une String? ou listFiles? |
si j'ai bien compris, ton FileNode redéfinit la méthode toString(), donc à mon avis il faudra que tu redéfinisses les 2 types de méthode
Marsh Posté le 24-11-2003 à 18:28:12
ok...
et sinon pour la fonction de conversion
je dois convertir un File en FileNode
Code :
|
Marsh Posté le 24-11-2003 à 18:31:54
ben FileNode c'est ta classe, tu devrais le savoir !
d'après le code quetu as filé plus haut, ce serait new FileNode(leFile.toString()).
Marsh Posté le 24-11-2003 à 16:49:17
Voila j'ai fait un truc qui me semmble tout con mais le compilateur veut rien savoir
Mon but est de faire un objet FileNode qui etend File et dont la methode tosstring renvoie le nom du fichier et non pas son chemin complet comme le fait la methode tostring de File.
j'ai defini cette classe qui herite de File donc rien d'extraordinaire :
Ensuite je veux l'utiliser :
et la il me met une ClassCastException
Comment pallier ce probleme? est ce que ca vient du fait que listRoots est static ? on ne pourrait donc l'appliquer que sur File ?
Merci de votre aide
Edit : pardon pour les crochets
Message édité par spitagor le 24-11-2003 à 17:21:12