« Gambas 3/Gambas3LeLangage/L'orienté objet avec Gambas/Les méthodes et les variables statiques » : différence entre les versions
Contenu supprimé Contenu ajouté
m <source> -> <syntaxhighlight> (phab:T237267) |
|||
Ligne 11 :
* Créez un nouveau projet de type Console !
* Créez une nouvelle classe nommée "Thing" et collez-y le code suivant !
<
' Gambas class file
Ligne 60 :
End
</syntaxhighlight>
* Puis activez le code du module principal et remplacez le code par ce qui suit !
<
' Gambas module file
Ligne 90 :
End
</syntaxhighlight>
Pour accéder au variables statiques, vous devriez utiliser des méthodes statiques.
Ligne 98 :
Un objet a une instance qui lui est propre. Si j'ai un objet appelé "$titine" typé Voiture, $titine.Avance() agira au niveau de l'objet.
<
$titine.Avance()
</syntaxhighlight>
Seule la voiture nommée $titine avancera. Toute les autres voitures ne seront pas concernées.
Ligne 108 :
Imaginons ceci : nous voulons définir une méthode Créer() qui génère une nouvelle instance de Voiture selon des modèles prédéfinis. Cette méthode sera appelée sur la classe en général et non sur une instance précise comme ceci :
<
Voiture.Créer("modèle formule 1")
</syntaxhighlight>
Vous l'aurez deviné, Static est le mot-clé qui définit une méthode au niveau de la classe (et non au niveau de chaque objet).
Ligne 116 :
Dans la classe Voiture, la méthode Avance() est une méthode qui agit sur une instance d'un objet de type Voiture.
<
' agit sur une instance ...
Public Sub Avance()
' ..
</syntaxhighlight>
La méthode Créer(), elle, agit sans avoir besoin d'une instance. Elle agit au niveau de la classe :
<
' agit sur la classe (le moule) ...
Static Public Function Créer() as Voiture
' ..
</syntaxhighlight>
=== Quiz ===
Ligne 138 :
On le voit lors de l'invocation de la méthode :
<
Module1.FaitCeci()
</syntaxhighlight>
Bravo pour l'acquisition de ces notions importantes !
|