parent
4a04f6b0e2
commit
7e0339eeae
@ -0,0 +1,115 @@
|
||||
|
||||
## Exemple partant de la dernière question du test.
|
||||
|
||||
```
|
||||
objet abstrait jouet
|
||||
var protégée prix, poids : décimal;
|
||||
var protégée stock : entier;
|
||||
|
||||
methode constructeur(prix,poids)
|
||||
ceci->prix = prix;
|
||||
ceci->poids = poids;
|
||||
ceci->stock = 0;
|
||||
fin methode
|
||||
|
||||
methode ajouter(nombre=1)
|
||||
ceci->stock = ceci->stock + nombre;
|
||||
fin methode
|
||||
|
||||
methode diminuer(nombre=1)
|
||||
ceci->stock = ceci->stock - nombre;
|
||||
fin methode
|
||||
|
||||
fin objet
|
||||
|
||||
objet nounours étend jouet
|
||||
var couleur, matière chaînes;
|
||||
methode constructeur(prix,poids,couleur,matière)
|
||||
parent->constructeur(prix,poids);
|
||||
ceci->couleur = couleur;
|
||||
ceci->matière = matière;
|
||||
fin methode;
|
||||
fin objet
|
||||
|
||||
/* pseudo code pour l'utiliser (cf image) */
|
||||
```
|
||||
|
||||
## Exemple étendu pour gérer le stock d'un magasin de jouets
|
||||
```
|
||||
objet jouet
|
||||
var nom, type, localisation : chaîne;
|
||||
var privée prix : décimal;
|
||||
var privée stock : entier;
|
||||
|
||||
methode constructeur(nom,type,localisation,prix);
|
||||
ceci->nom = nom;
|
||||
ceci->type = type;
|
||||
ceci->localisation = localisation;
|
||||
ceci->poids = poids;
|
||||
ceci->stock = 0;
|
||||
fin methode
|
||||
|
||||
methode ajouter(nombre=1)
|
||||
ceci->stock = ceci->stock + nombre;
|
||||
fin methode
|
||||
|
||||
methode diminuer(nombre=1)
|
||||
ceci->stock = ceci->stock - nombre;
|
||||
fin methode
|
||||
|
||||
methode donne_prix()
|
||||
renvoyer ceci->prix;
|
||||
fin methode;
|
||||
|
||||
methode donne_stock()
|
||||
renvoyer ceci->prix;
|
||||
fin methode;
|
||||
fin objet
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
var fini : booléen;
|
||||
var nom, type, localisation, reponse_fin : chaine;
|
||||
var tdj : tableau;
|
||||
var nb_jouet, stock : entier;
|
||||
ver prix : decimal;
|
||||
|
||||
Tant que fini != vrai
|
||||
Afficher "Nom du jouet ?"
|
||||
Lire nom;
|
||||
|
||||
Afficher "Type ?"
|
||||
Lire type;
|
||||
|
||||
Afficher "Cave ou salle ?"
|
||||
Lire localisation;
|
||||
Si localisation != "cave" Alors
|
||||
localisation = salle
|
||||
Fin si
|
||||
|
||||
Afficher "Stock ?"
|
||||
Lire stock;
|
||||
|
||||
Afficher "Prix ?"
|
||||
Lire prix;
|
||||
|
||||
tdj[nb_jouet] = nouveau jouet(nom,type,localisation,prix);
|
||||
tdj[nb_jouet]->ajouter(stock);
|
||||
|
||||
nb_jouet = nb_jouet + 1;
|
||||
|
||||
Afficher "Jouet " ~ nb_jouet ~ " créé !";
|
||||
|
||||
Afficher "fini ?"
|
||||
Lire reponse_fin
|
||||
Si reponse_fin == "oui" Alors
|
||||
fini = vrai
|
||||
Fin si
|
||||
Fin tant que
|
||||
|
||||
pour i = 0 ; i < nb_jouets ; i++
|
||||
Afficher "Le jouet " ~ i ~ " est un " ~ tdj[i]->type ~ " nommé " ~ tdj[i]->nom ~ " et est dans la " ~ tdj[i]->localisation;
|
||||
Afficher "Il y en a " ~ tdj[i]->donne_stock() ~ " disponibles";
|
||||
|
||||
fin pour
|
Loading…
Reference in new issue