[Squeak-fr] metaclasses et autres betes

Stephane Ducasse squeak-fr@lists.squeakfoundation.org
Sun Nov 24 23:12:00 2002


Je renvoye mon mail car il etait trop gros.

Au fait pour ce genre de question pourquoi ne pas contacter l'america=
in=20
qui veut pratique son francais
vous pourriez apprendre beaucoup de lui. Il est bon a mon avis.=20
ewinger@keyww.com



Begin forwarded message:

> From: Stephane Ducasse <ducasse@iam.unibe.ch>
> Date: Dim nov 24, 2002  10:55:03  pm Europe/Zurich
> To: squeak-fr@lists.squeakfoundation.org
> Subject: Re: [Squeak-fr] projet de ma premiere ann=E9e
>
> salut
>
>
> On dimanche, novembre 24, 2002, at 09:31  pm, chrisnormand@free.fr=
=20
> wrote:
>
>> merci a stephane et a Serge pour leur reponse concernant les metho=
des=20
>> de classe
>> et les methodes d'instance. La distinction reste cependant floue p=
our=20
>> moi et
>> mon equipe.En effet les metaclasses ont une fonction "mysterieuse"=
=20
>> pour nous,
>> notre tuteur nous a expliquer qu'elle servaient pour le deboguage
>
> Faux desole ;)
>
>> et pour que
>> la classe protoObject soit l'objet d'elle m=EAme ce qui permet a S=
queak=20
>> de se
>> compiler.....?!?!
>
> Faux :)
>
> Ne nous dis pas son nom....
>
> tu devrais suggerer a ton tuteur de lire mes livres, meme ceux qui=
=20
> sont gratuits sur ma page, de prendre
> mes cours et DE LES POTASSER!!!!
>
> Prends mes derniers cours a: http://scgwiki.iam.unibe.ch:8080/LOO/4
>
> Bon je te conseille vraiment de lire mon livre en plus il est bien
> (je ne touche que 1,5 frcs pas euro ;))
>
> Axiom1 - en ST tout est objet.
> Axiom2 - tout objet est instance d'une classe.
> Axiom3 - qd j'envoie un message a un objet je cherche dans sa class=
e=20
> et je suis l'arbre d'heritage
>
>
> Donc une classe est un objet (Axiom1) elle doit etre instance d'une=
=20
> classe (Axiom2)
> On appelle metaclasse des classes dont les instances sont des class=
es.=20
> Rien de magique.
>
> Maintenant a chaque classe que tu crees, le systeme cree une class=
=20
> anonyme en cachette et cree
> ta classe comme instance de cette classe.
>
>  - la classe Point est donc instance d'une class Point class
>
> En fait la metaclass n'est pas si anonyme que ca. en fait qd tu=
=20
> cliques sur le bouton instance du browseur
> tu vois les messages que tu peux envoyer a des instances de cette=
=20
> classe comme la method accept envoye a un noeud
> pour accepter un paquet.
> En cliquant sur le bouton classe tu vois les messages envoyes a la=
=20
> classe comme withName: qui envoye
> a la classe Node cree un noeud
>
> pas d'image desole voir dans mon cours ou si le moderateur le laiss=
e=20
> passe


>
>
> Ce dessin illustre ce qui ce passe qd tu envoies un message a un=
=20
> object: c'est la meme chose qu'il s'agisse d'une instance basique o=
u=20
> d'une classe: tu va dans la class du receveur et cherche la methode
>

dommage pas d'image dans ce mail voir mon cours (advancedClasses)



>
>> Depuis que je developpe en Squeak, je regrette qu'une arborescence=
=20
>> des classes
>> n'existe pas comme sous Dolphin car la recherche des fonctions est=
 un=20
>> veritable
>> chemin de croix...Ce qui est dommage car lorsque l'on a toutes les=
=20
>> fonctions
>> desir=E9es le codage devient ais=E9 comme un jeu d'enfant !
>
> Uhhh. J'aime dolphin et c'est vrai que Squeak pourrait etre mieux m=
ais
> tu as le hierarchical browser pour cela.
> Ensuite si tu cherches une methodes tu as le messages finder et le=
=20
> method selector qui est super.
>
>
>>
>> Je suis conscient que moi et mon groupe somme des debutants et que=
 nos
>> questions peuvent vous semblez ridicules au vues de vos sujets de=
=20
>> discussion,
>> malgr=E9 cela nous mettrons notre travail a disposition sur le web=
 dans=20
>> le but de
>> s'initier a Squeak.
>
> Il n'y a jamais de questions idiotes.
>
> Une fois un type que je croyais bon a demande: "je cherche ou est=
=20
> implemente new:
> comme utilise dans l'expression Array new: 4, alors j'ai cherche da=
ns=20
> la superclasse
> de Array."
>
> C'est faux!!!! pourquoi car d'apres l'axiom2 on cherche toujours da=
ns=20
> la CLASSE
> du receveur puis on monte l'heritage.
>
> Donc ici il fallait reagrder sur la class de Array: Array class en=
=20
> cliquant sur le bouton class
> puis remonter....en fait en remontant remontant on arrive a la clas=
s=20
> Behavior qui represente une class
> tres pure et implemente la methode new.
>
>
>
>>
>> J'espere que cette mailing liste ne me servira pas qu'a poser des=
=20
>> questions
>> mais qu'elle me permetra de repondre a certain (ce dont je doute p=
our
>> l'instant  :-) )
>
> J'esper bien. Si tu veuix comprendre Smalltalk. Il y a tres peu de=
=20
> regles mais elles
> sont appliquees systematiquement. Donc identifie les regles comme l=
es=20
> axioms 1 2 3
> et applique les.
>
> Remarques il y a des tonnes de bouquins gratuits sur ma page donc=
=20
> lis-le.
>
>
>>
>> shuss
>> _______________________________________________
>> Squeak-fr mailing list
>> Squeak-fr@lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/listinfo/squeak-fr
>>
>>
> Dr. St=E9phane DUCASSE (ducasse@iam.unibe.ch)=20
> http://www.iam.unibe.ch/~ducasse/
>  "if you knew today was your last day on earth, what would you do
>  different? ... especially if, by doing something different, today
>  might not be your last day on earth" Calvin&Hobbes
>
>
>
Dr. St=E9phane DUCASSE (ducasse@iam.unibe.ch)=20
http://www.iam.unibe.ch/~ducasse/
  "if you knew today was your last day on earth, what would you do
  different? ... especially if, by doing something different, today
  might not be your last day on earth" Calvin&Hobbes