Outils pour utilisateurs

Outils du site


cours:informatique:dev:programmation_objet_pharo:150_packages_classes_methodes

Packages, Classes et Méthodes

Tutoriel Programmation objet immersive en Pharo proposé par l'inria disponible à l'adresse https://mooc.pharo.org et sur la plateforme FUN-MOOC.

On utilise le System Browser pour créer/éditer les objets que ce soit les packages, les classes ou les méthodes.

Pour ouvrir le System Browser:

  • Menu World > Tools > System Browser

Le System Browser affiche dans la colonne de gauche tous les packages présents dans l'image.

Pour créer un nouveau package:

  • Sélectionner n'importe quel package
  • Clic-droit, sélectionner l'option New package et donner le nom du nouveau package

L'option de filtre en bas de la colonne permet de restreindre l'affichage.

Le package est vide pour l'instant mais il le System Browser présente un modèle de création de classe (patron) dans la partie basse de la fenêtre, dans l'onglet “New class”

Object subclass: #NameOfSubclass
	instanceVariableNames: ''
	classVariableNames: ''
	package: 'MyCounter'

Ici on va mettre à jour ce modèle pour créer une classe Counter avec un attribut count, on modifie le patron comme suit:

Object subclass: #Counter
	instanceVariableNames: 'count'
	classVariableNames: ''
	package: 'MyCounter'

On remarque que l'onglet New class est préfixé par une astérisque pour indiquer que les modifications apportées au modèle n'ont pas encore été enregistrées.

Le coin haut-droit de la fenêtre est orange car le code n'as pas encore été compilé.

Pour accepter les modifications et compiler le code sélectionner le texte et depuis le menu contextuel choisir l'option accepter ou utiliser le raccourcis clavier Ctrl+S.

La classe Counter apparaît à présent. Le point d'exclamation permet d'attirer l'attention du programmeur sur certains points. Placer le curseur sur le point d'exclamation pour voir le message.

On va pouvoir ajouter une méthode. Par défaut l'option “Inst. side” est active. L'onglet Inst. side method est présenté, il permet de créer une méthode d'instance. On va créer un accesseur (getter) nommé par exemple getCounter permettant de récupérer la valeur de l'attribut count.

getCounter
	"Return counter value"
	^ count

NB: En bas de la fenêtre un bouton “Classify method” permet de spécifier un protocole supporté par la méthode: ici notre methode etant un accesseur, on lui associe le protocole accessing.

De la même manière on va pouvoir définir un Setter ici nommé setCounter: permettant de redéfinir la valeur de l'attribut count.

setCounter: anInteger
	"replace the counter value"
	count := anInteger

On peut à présent tester notre classe en ouvrant un Playground et en affichant le résultat de l'expression suivante:

|c|

c := Counter new.
c setCounter: 33;
  getCounter. 

Retour au sommaire

cours/informatique/dev/programmation_objet_pharo/150_packages_classes_methodes.txt · Dernière modification : 2022/07/06 19:06 de yoann