Précédent Suivant Index

5   Programmation O2

5.1   Exécution de programmes par la commande run body

Toutes les commandes suivantes sont effectuées dans la fenêtre O2Shell.

La commande:
display methods in class Object
permet de voir les méthodes de la classe Object. Ces méthodes sont héritées par toutes les classes que nous avons créées jusqu'à présent. On peut donc les utiliser pour afficher et saisir la classe Restaurant. Pour cela il faut créer un programme qui instancie un ou plusieurs objets de la classe Restaurant et envoie des messages à ces objets. Voici l'exemple (très simple) d'un tel programme. On va saisir le code dans la fenêtre O2Shell et l'exécuter. On peut également saisir le code dans un fichier et le copier (par la commande Open) dans O2Shell.

Exécution de ce programme: une fenêtre O2Look apparaît.

On peut alors, dans la fenêtre créée par la méthode edit, saisir les attributs d'un objet de la classe Restaurant. Cependant cette saisie ne peut pas encore être sauvegardée. Pour cela, il faut créer un nom par la commande:
name restaus: set(Restaurant)
D'où la possibilité de sauvegarder un objet Restaurant en le rattachant à ce nom, grâce á une légère modification du programme:

Exécution de ce programme: le fait d'utiliser l'icône «crayon» ajoute maintenant dans l'ensemble restaus le nouvel objet.

5.2   Applications

Une application au sens O2 regroupe un ensemble de programmes. On peut considérer une application comme la définition d'un menu permettant de choisir un programme par l'intermédiaire d'une interface graphique au lieu de le lancer par une commande comme on l'a fait jusqu'à présent. Autre différence importante: un programme dans une application est compilé une fois pour toutes alors qu'un programme exécuté par «run body» est compilé á chaque fois.

La définition d'une application se fait par la commande:
application Restaurants
  program public creation_restaurant
end
Ici il n'y a que deux programmes mais on peut bien entendu en mettre une liste plus étendue. Voici la définition du programme création_restaurant. Notez que l'on a choisi l'option ``transaction'' qui permet de faire des mise-à-jour.

5.3   OQL

On peut exécuter des requêtes en utilisant un langage proche de SQL. Exemple d'une recherche des tous les objets rattachés au nom restaus.
select r from r in restaus 

Précédent Suivant Index