Une fonction pure, équivalent à une mathématique
réelle, n'utilise par de variable déclarée hors de son corps.
Les méthodes statiques d'une classe sont des fonctions pures et donc n'utilisent
par les attributs de la classe (sauf s'ils sont statiques aussi).
Elles peuvent être appelées directement associées au nom de la classe,
plutôt qu'à celui d'une instance.
C'est en fait une bonne pratique de placer les fonctions concernant
un même traitement, dans une classe sous forme statique pour rendre le
programme plus clair et créer des composants réutilisables.
Exemple d'appel statique venant du fichier path.sol:
node, extension = Path.splitExt(chemin)
Un attribut déclaré statique peut aussi être associé avec le nom de la
classe, ou celui d'une instance.
Un attribut statique partage son contenu avec toutes les instances, incluant
celles qui sont héritées. Une méthode statique peut seulement utiliser
des attributs statiques. Elle ne peut appeler d'autres méthodes de la
classe.
Exemples:
on utilise aussi bien le nom de la classe ou le nom d'une instance,
pour les membres statiques. |
class
Voiture static usine = "Xxx"
static void donneNom(text
x)
usine = x return
/class
Voiture maVoiture Voiture.donneNom("nom")
maVoiture.donneNom("nom") Voiture.usine = "nom"
maVoiture.usine = "nom" |
... toutes ces instructions on le même résultat mais seuls les membres statiques
peuvent avec appelés avec le nom de la classe
Si vous changez un attribut statique pour une instance, les changements
s'appliquent à toutes les instances de la classe.
Exercices |
1) Soit la fonction add définie ci-dessous:
int add(int a, int b)
a + b
return a
Transformez cette fonction en méthode statique de la classe
"Calcul", et utilisez là avec le couple de valeurs
10 et 15. Utilisez print pour afficher le résultat de l'addition.
Réponse |
|