Méthodes : Partie 2
1) Conventions de nommage.
Le dernier caractère des méthodes permettent de définir certaines propriétés aux méthodes. Nous allons en voir deux :
- Le point d'interrogation (?)
- Le point d'exclamation (!)
Si le nom de la méthode termine par un "?" alors celui ci retourne un booléen (true ou false)
Exemple :
b) Le point d'exclamation
Le point d'exclamation à la fin de nom de la méthode signifie qu'elle est destructive c'est à dire qu'elle modifie l'objet elle même.
Voici un exemple clair :
Tout d'abord, on initialise le tableau. Ensuite, on affiche le tableau trié. Enfin, on affiche le tableau qu'on a déclaré. Voici l'affichage :
1
2
3
4
7
2
4
1
7
3
Si maintenant vous mettez le point d'exclamation à la méthode sort :
On affiche le tableau créé et on modifie le tableau tab. on affichera donc ensuite le tableau trié. Résultat :
1
2
3
4
7
1
2
3
4
7
2) Arguments ayant des valeurs par défaut
Voici un exemple :
Dans cette exemple, on donne une valeur par défaut à l'argument "nom_heros". Comme cela, si vous ne mettez pas d'argument à l'appel de la méthode, cette dernière prendra la valeur par défaut.
L'affichage est la suivante :
Nom du heros : Link
Nom du heros : Sam
3) Arguments en nombre indéfinie
En mettant une étoile "*" devant l'argument, vous définissez un nombre de variable d'arguments à une méthode.
Voici encore un exemple :
Le premier appel de la méthode affiche "nom_heros" donc :
Sam
Link
"nom_heros" est un tableau. Donc "nom_heros[0]" affichera le premier élément : Sam
A votre avis, qu'est qu'affichera le deuxième appel : "nom()" ?
Etant donné qu'il n'y a pas d'argument, ça affichera "nil"
Exercice :
Qu'est ce que le code suivant affiche :
Si vous avez compris, ça affiche "Link".
A l'appel de la méthode :
"qui" vaut 0
"nom_heros.size" est la taille du tableau "nom_heros" : 3
Donc : nom_heros[0 + 3 - 2] est nom_heros[1] :)
4) Alias
Le mot clé "alias" permet de faire une copie d'une méthode en mettant son propre nom. Les alias peut être utilisé lorsque vous changer les actions d'une méthode ou d'accéder à des méthodes qui ont fait l'objet d'une surcharge.
Le nom des méthodes sont différentes mais le résultat est le même.

