Problème pour implémenter classe pile en liste chainée - Java - Programmation
Marsh Posté le 14-04-2007 à 23:57:42
Je connais pas bien le pascal, mais la en effet c'est de pietre qualite comme code .
Moi je verrais plutot un truc du genre :
Code :
|
Dans ton cas, tu recree un nouvel objet pielempty a chaque fois , c'est donc pas génial, tu as une multitude liste a un seul element....
Si tu as d'autre questions....
Marsh Posté le 15-04-2007 à 10:07:59
Oui je sais que c'est surement pas top, mais c'est ce que j'aimerais faire si il y a moyen.
En gros on a fait cet exercice à un tp java et je le refais de mon coté sans regarder le tp.
Au tp dans le add, on injecte en paramètre le this dans le constructeur appelé de sorte que le constructeur fasse un truc genre : tail = t (qui est le this du add en paramètre) et head = le String.
Moi j'aimerais bien tester sans passer le this en paramètres.
J'ai l'impression que dans
Code :
|
je n'ai pas accès aux variables internes du temp, c'est probable ?
Marsh Posté le 15-04-2007 à 17:54:33
C'est plus que probable, c'est certain, ils sont marqués private donc inaccessibles "de l'extérieur"
De plus Java demande une approche objet des systèmes, donc tu n'est pas censé faire ce genre de choses. Ici tu dois créer une classe Pile qui va contenir toutes les opérations qu'elle effectue sur elle même.
Après, tu as grosso modo 3 approches possibles:
Marsh Posté le 16-04-2007 à 15:54:06
Donc si je comprends bien dans mon cas, comme chaque domino de la pile est un nouvel objet en soit, un domino ne peut avoir accès à la rep interne d'un autre domino (et ce même si ils sont gérer pas la même classe) ?
Dans ce cas je vais aller voir l'approche qu'ils ont fait au tp.
Et je vois clairement que c'est très moche comme approche, mais le but c'est de m'entrainer à gérer les références.
Une petite question à propo du this : c'est légal de changer ça valeur de référence betement comme ça : this = a; dans le cas ou a est un type totalement différent de a ?
Merci pour votres aides.
Siron
Marsh Posté le 16-04-2007 à 16:00:40
Siron a écrit : Donc si je comprends bien dans mon cas, comme chaque domino de la pile est un nouvel objet en soit, un domino ne peut avoir accès à la rep interne d'un autre domino (et ce même si ils sont gérer pas la même classe) ? |
Oui, ce sont des instances différentes d'une même classe, donc des objets réellement différents, donc pas de possibilité d'accès aux membres privés de leurs camarades.
Siron a écrit :
|
J'en doute, mais je dois te dire que je n'ai jamais essayé de faire un truc pareil, l'intérêt est limité et il y a toujours un moyen de faire autrement (et probablement plus proprement)
Marsh Posté le 17-04-2007 à 09:59:49
Citation : Oui, ce sont des instances différentes d'une même classe, donc des objets réellement différents, donc pas de possibilité d'accès aux membres privés de leurs camarades. |
Je comprends dès lors pourquoi au tp ils passaient en paramètre les valeurs internes du this.
Merci pour ces éclaircissement
Siron
Marsh Posté le 14-04-2007 à 22:06:49
Bonjour, dans l'optique de m'entrainer en java, je réalise actuellement une classe chargé de l'implémentation d'un type pile en liste chainée.
J'ai donc un panel de fonction classique à implémenter tel : size(), add(), sub(), ...
Et au niveau du add j'ai des problèmes pour l'implémentation :
Classe pilenempty :
Comme vous pouvez le voir, j'ai tenté le add avec l'intuition (je suis plus coutumier des pointeur en pascal), ce qui évidemment ne marche pas.
Quelqu'un pourrait-il me mettre sur le droit chemin ?
Merci d'avance.
Message édité par Siron le 14-04-2007 à 22:10:37