Les constructeurs
193
Voici une première implémentation qui prévoit tout naturellement un attribut nommé côté,
destiné à contenir la valeur du côté du carré :
classe Carré
{ méthode Carré (entier n)
{ côté := n
}
méthode Carré
{ côté := 10
}
entier méthode taille
{ retourne côté
}
méthode changeCôté (entier n)
{ côté := n
}
entier méthode surface
{ entier s
s := côté * côté
retourne s
}
entier méthode périmètre
{ entier p
p : = 4 * côté
retourne p
}
entier côté
}
Une implémentation naturelle de la classe Carré
Mais, voici maintenant une seconde implémentation qui prévoit d’autres attributs, à savoir le
périmètre et la surface. Cette fois, on voit que les méthodes périmètre et surface deviennent de simple méthodes d’accès et qu’elles n’ont plus à effectuer de calcul à chaque appel.
En revanche, ces calculs sont effectués par les méthodes qui sont susceptibles de modifier la
valeur du côté, soit ici les constructeurs et changeCôté ; pour simplifier un peu l’écriture,
nous avons prévu deux méthodes privées (calculPérimètre et calculSurface) dont
l’usage est réservé aux méthodes de la classe :
classe Carré
{ méthode carré (entier n)
{ côté := n
calculPérimètre
calculSurface
}
méthode Carré
{ côté := 10
calculPérimètre
calculSurface
}
193
Voici une première implémentation qui prévoit tout naturellement un attribut nommé côté,
destiné à contenir la valeur du côté du carré :
classe Carré
{ méthode Carré (entier n)
{ côté := n
}
méthode Carré
{ côté := 10
}
entier méthode taille
{ retourne côté
}
méthode changeCôté (entier n)
{ côté := n
}
entier méthode surface
{ entier s
s := côté * côté
retourne s
}
entier méthode périmètre
{ entier p
p : = 4 * côté
retourne p
}
entier côté
}
Une implémentation naturelle de la classe Carré
Mais, voici maintenant une seconde implémentation qui prévoit d’autres attributs, à savoir le
périmètre et la surface. Cette fois, on voit que les méthodes périmètre et surface deviennent de simple méthodes d’accès et qu’elles n’ont plus à effectuer de calcul à chaque appel.
En revanche, ces calculs sont effectués par les méthodes qui sont susceptibles de modifier la
valeur du côté, soit ici les constructeurs et changeCôté ; pour simplifier un peu l’écriture,
nous avons prévu deux méthodes privées (calculPérimètre et calculSurface) dont
l’usage est réservé aux méthodes de la classe :
classe Carré
{ méthode carré (entier n)
{ côté := n
calculPérimètre
calculSurface
}
méthode Carré
{ côté := 10
calculPérimètre
calculSurface
}
