[Squeak-fr] variables de classes et variables d'instances

Serge Stinckwich squeak-fr@lists.squeakfoundation.org
Mon, 18 Nov 2002 16:17:54 +0100


On Mon, 18 Nov 2002 11:54:57 +0100 (CET)
chrisnormand@free.fr wrote:

> Salut à tous,
> 
> je travaille actuellemnt sur un projet Squeak dans le cadre de mes études.
> Mon but est d'implémenter les arbresVL et de leurs donner une interface 
> graphique grace a un MVC ou a un Morphic.
> 
> Dans le cadre de la programmation des AVL, j'ai un probleme quant a la 
> distinction entre classe et instance:
> 
> En effet, je voudrais creer une methode de classe 'new' mais le probleme c'est 
> qu'elle ne peut implementer qu'une variable de classe alors que je voudrais 
> qu'elle agissent sur une variable d'instance afin d'etre manipulable par des 
> methodes d'instance !!!
> 
> Des lors est il possible qu'une methode de classe interagissent sur une 
> variable d'instance ???
> 
> Sinon  quelqu'un pourrait-il m'expliquer la difference entre les deux, ainsi 
> que le role des variables de classe qui est encore floue a mes yeux.

Rapidement : 

-Une méthode d'instance est définie dans une classe et fourni un comportement commun à tous les objets d'une classe.
Les méthodes d'instances sont publiques en Smalltalk.

-Une variable d'instance est une information encapsulée dans un objet. Les objets d'une même classe disposent des mêmes variables d'instances, mais pas des mêmes valeurs.
Les variables d'instance sont privées (c'est le principe d'encapsulation).

-Une méthode de classe fourni un comportement à une classe (vu comme un objet alors). Les méthodes de classes sont publiques.

-Une variable de classe est une information encapsulée dans une classe. Généralement, on va y mettre des informations communes à tout les objets ou nécessaire à leur initialisation.

Une classe est un objet en Smalltalk et à son propre état (les variables de classes) et son propre comportement (les méthodes de classes).

Cordialement,
-- 
Serge Stinckwich                                         -< )  multiagent.com
Université de Caen>CNRS UMR 6072>GREYC>MAD                /~\  squeak.org
http://www.iutc3.unicaen.fr/serge/                       (/  | zope.org
Smalltalkers do: [:it | All with: Class, (And love: it)] _|_/  debian.org