Différences entre les versions de « Programmation objet et géométrie/Création d'une méthode en Smalltalk »

m
<source> -> <syntaxhighlight> (phab:T237267)
m (Bot: Mise à jour des codes texvc par des équivalentes LaTeX (documentation))
m (<source> -> <syntaxhighlight> (phab:T237267))
 
Pour bénéficier tout de suite d'un héritage intéressant, on utilise le ''browser'' de DrGeoII (en réalité, de Pharo) pour chercher, dans la catégorie de classes ''Graphics-Primitives'', la classe ''Point'', qui possède déjà des ''point functions'', il suffit d'en choisir une (par exemple ''sign'') et d'écraser son texte par
 
<sourcesyntaxhighlight lang="smalltalk">
squared
"répond le point dont l'affixe est le carré complexe du point de départ"
 
^ (x*x - (y*y) @ (2*x*y)).
</syntaxhighlight>
</source>
 
À ce stade on voit que le signe d'un point s'appelle maintenant ''squared'' ce qui fait tout de même un peu [[w:L'apprenti sorcier (poème)|apprenti sorcier]]!
Pour tester la nouvelle méthode, on peut ouvrir un "workspace" et y écrire
 
<sourcesyntaxhighlight lang="smalltalk">
(3@2) squared.
</syntaxhighlight>
</source>
 
Ensuite, il suffit par exemple de sélectionner le tout et de l'"inspecter" (ou écrire ''(3@2) squared inspect.'' et le "DoIt"er...):
Puisque dorénavant cette méthode fait partie de Smalltalk, elle est accessible à DrGeoII aussi, par exemple sous la forme d'un script DrGeo, qu'on peut appeler "carre" et dont le script appelle la méthode ''squared'' précédemment créée:
 
<sourcesyntaxhighlight lang="smalltalk">
carre: UnPoint
"élève un point (ou plutôt son affixe) au carré"
^UnPoint point squared.
</syntaxhighlight>
</source>
 
Le script apparaît sans la fenêtre de scripts de DrGeoII:
1 535

modifications