Cours

C# Leçon 5

Méthodes et classes

Découper le code en méthodes réutilisables, puis découvrir les classes et les objets, au cœur de C#.

25 min

À la fin de cette leçon, tu sauras

  • Écrire une méthode avec des paramètres et un retour
  • Créer une classe avec des propriétés
  • Créer des objets et appeler leurs méthodes

Les méthodes

Une méthode (le nom des fonctions en C#) regroupe des instructions sous un nom. On précise le type de chaque paramètre et le type renvoyé.

int Additionner(int a, int b)
{
    return a + b;
}

void Saluer(string prenom)
{
    Console.WriteLine($"Bonjour {prenom} !");
}

Console.WriteLine(Additionner(3, 4));   // 7
Saluer("Léa");

void veut dire que la méthode ne renvoie rien. Par convention, les noms de méthodes commencent par une majuscule en C#.

Les classes et les objets

Une classe est un modèle : elle décrit ce qu'est une chose (ses propriétés) et ce qu'elle sait faire (ses méthodes). À partir de ce modèle, on crée des objets.

class Eleve
{
    public string Prenom { get; set; }
    public int Age { get; set; }

    public Eleve(string prenom, int age)
    {
        Prenom = prenom;
        Age = age;
    }

    public void SePresenter()
    {
        Console.WriteLine($"Je suis {Prenom}, j'ai {Age} ans.");
    }
}
  • public rend la propriété ou la méthode utilisable en dehors de la classe ;
  • { get; set; } permet de lire et de modifier la propriété ;
  • la méthode qui porte le nom de la classe est le constructeur : elle s'exécute à la création de l'objet.
Eleve lea = new Eleve("Léa", 18);
Eleve tom = new Eleve("Tom", 19);

lea.SePresenter();   // Je suis Léa, j'ai 18 ans.
tom.Age = 20;
tom.SePresenter();   // Je suis Tom, j'ai 20 ans.

Où écrire la classe ? Dans Program.cs, les classes se placent après les instructions du programme. Le plus propre est de mettre chaque classe dans son propre fichier, par exemple Eleve.cs.

Astuce : c'est la programmation orientée objet, que tu retrouveras en BTS SIO. Chaque objet a ses propres valeurs : changer l'âge de Tom ne change pas celui de Léa.

À toi de jouer

Écris une méthode Carre qui prend un int en paramètre et renvoie (return) ce nombre multiplié par lui-même. Affiche ensuite le résultat de Carre(9).

Program.cs
  • La méthode Carre renvoie un int et prend un int
  • Elle renvoie le paramètre multiplié par lui-même
  • Le résultat de Carre(9) est affiché
Bloqué ? Voir une solution
int Carre(int nombre)
{
    return nombre * nombre;
}

Console.WriteLine(Carre(9));

Quiz

1Que signifie void devant une méthode ?
2Comment crée-t-on un objet à partir de la classe Eleve ?
3Qu'est-ce qu'un constructeur ?