« Gambas 3/Gambas3LeLangage/L'orienté objet avec Gambas/Les méthodes et les variables statiques » : différence entre les versions

Contenu supprimé Contenu ajouté
DannyS712 (discussion | contributions)
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 !
<sourcesyntaxhighlight lang="gambas">
' Gambas class file
 
Ligne 60 :
 
End
</syntaxhighlight>
</source>
* Puis activez le code du module principal et remplacez le code par ce qui suit !
<sourcesyntaxhighlight lang="gambas">
' Gambas module file
 
Ligne 90 :
 
End
</syntaxhighlight>
</source>
 
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.
 
<sourcesyntaxhighlight lang="gambas">
$titine.Avance()
</syntaxhighlight>
</source>
 
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 :
 
<sourcesyntaxhighlight lang="gambas">
Voiture.Créer("modèle formule 1")
</syntaxhighlight>
</source>
 
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.
 
<sourcesyntaxhighlight lang="gambas">
' agit sur une instance ...
Public Sub Avance()
' ..
</syntaxhighlight>
</source>
 
La méthode Créer(), elle, agit sans avoir besoin d'une instance. Elle agit au niveau de la classe :
 
<sourcesyntaxhighlight lang="gambas">
' agit sur la classe (le moule) ...
Static Public Function Créer() as Voiture
' ..
</syntaxhighlight>
</source>
 
=== Quiz ===
Ligne 138 :
On le voit lors de l'invocation de la méthode :
 
<sourcesyntaxhighlight lang="gambas">
Module1.FaitCeci()
</syntaxhighlight>
</source>
 
Bravo pour l'acquisition de ces notions importantes !