Méthodes et attributs statiques

  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