Jeu Vidéo 3

Techniques d'intégration multimédia, prof(s):

Fonctions

Comme les fonctions n'existent qu'au sein de classes en C#, il est usuel de les appeler plutôt des méthodes (voir l'explication à ce sujet au bas de cette page).

Anatomie d'une méthode
anatomie d'une méthode
Le type de chaque paramètre doit être spécifié...

Le type de chacun des paramètres doit être spécifié. Une méthode ne peut pas accepter de données si les types attendus ne correspondent pas aux types de valeurs fournies.

private void Info1(string nom, int age)
{
	Debug.Log($"{nom} a {age} ans.");
}

Info1("Bob",22); // affiche: Bob a 22 ans.

private void Info2(string nom, int age)
{
	Debug.Log($"{nom} a {age} ans.");
}

Info2("Bob","22"); // ERREUR: un des paramètre fourni est de type String alors que la valeur attendue devrait être int

Le type de donnée retournée doit être spécifié...

Juste avant le nom de la méthode, on doit indiquer le type de donnée retournée par elle. Si la méthode ne retourne rien (elle n'a pas de return), on doit l'indiquer grâce au mot void (qui signifie 'néant' ou 'vide').

// cette méthode ne retourne rien (pas de return), d'où l'indication :void
private void info1(string nom, int age)
{
	Debug.Log($"{nom} a {age} ans.");
}

// cette méthode retourne une chaîne de texte, d'où l'indication string
private string info1(string nom, int age)
{
	return $"{nom} a {age} ans.";
}

Fonction ou Méthode?

Une fonction rédigée dans une classe porte un nom spécial: on l'appelle alors "méthode". Comme en C# les fonctions sont toutes rédigées dans des classes, techniquement elles sont toutes des méthodes.

Au quotidien cependant, les termes fonction et méthodes sont souvent utilisés de façon interchangeables.

Dire "fonction" au lieu de "méthode", c'est un peu comme dire "frigidaire" au lieu de "réfrigérateur": On désigne le même objet, mais ce n'est pas le terme rigoureux.


Modificateur d'accès

Un membre d'une classe (champ, méthode, constante) doit être qualifié d'un niveau d’accès par rapport aux autres classes.

La déclaration de ce membre est alors précédée d'un terme spécial appelé "modificateur d'accès".

Il existe plusieurs modificateurs d'accès, mais pour ce cours nous nous limiteront aux plus utilisés (et de loin!):

  • public: Peut être accédé de l'extérieur de sa classe et est exposé dans l'inspecteur de propriétés de Unity.
  • private: Ne peut pas être accédé de l'extérieur de sa classe et n'est pas exposé dans l'inspecteur de propriétés de Unity.