Définition des classes
🎯 Objectifs
- Définir une classes
✅ Une classe
📜 Définition
Une classe est un modèle (ou plan) permettant de définir un type d’objet. Elle regroupe des données (champs) et des comportements (méthodes) qui décrivent et contrôlent l’objet.
En C#, le mot-clé class permet de définir une classe.
Chaque classe possède un identificateur significatif, choisi de manière à représenter clairement son rôle.
Pour s'imaginer la distinction entre une classe et un objet, on peut s'imaginer que la classe est la recette pour faire une pizza et que les quatre pizzas sont des instances différentes de la classe. La pizza aux pepperonis, la toute garnie, la aux tomates et basiliques et la fromage sont des objets de la classe RecettePizza.

💡 Exemple de déclaration d’une classe
public class CompteurHydro
{
/// Définir un ou plusieurs champs
/// Définir une ou plusieurs propriétés
/// Définir un ou plusieurs constructeurs
/// Définir une ou plusieurs méthodes
}
✨ Création d'une classe
Afin de créer une classe, vous devrez ajouter un fichier .cs poutant son nom.
À partir de l'explorateur de solution, cliquez avec le bouton droit de la souris sur le projet où vous voulez ajouter la classe. Choisissiez Ajouter et allez sélectionner Classe....

Dans la liste d'éléments affichés, choisissez Classe Élements C# et choisissez un nom pertinent.

Visual Studio va vous créer votre nouvelle classe dans un fichier .cs pourtant le même nom. Vous pouvez maintenant ajouter vos fonctionnalités!

✅ Anatomie d'une classe
La classe CompteurHydro représente un compteur d’électricité permettant de mémoriser et de mettre à jour une consommation.
public class CompteurHydro
{
/// <summary>
/// Constante : stocke le prix (en dollars) d'un KWh
/// </summary>
public const double PRIX_KWH = 0.6905;
/// <summary>
/// Champ : stocke la consommation actuelle du compteur.
/// </summary>
private int m_consommationActuelle;
/// <summary>
/// Propriété : permets d'accéder à la consommation actuelle du compteur.
/// </summary>
public int ConsommationActuelle
{
// Accès en lecture uniquement
get { return m_consommationActuelle; }
}
/// <summary>
/// Constructeur : initialise une nouvelle instance de la classe CompteurHydro.
/// </summary>
public CompteurHydro()
{
// Initialisation du champ
m_consommationActuelle = 0;
}
/// <summary>
/// Méthode : ajoute une quantité d'électricité à la consommation actuelle.
/// </summary>
/// <param name="pQuantitéKwh">
/// Quantité d'électricité (en kWh) à ajouter.
/// </param>
public void Consommer(int pQuantitéKwh)
{
// Mise à jour du champ
m_consommationActuelle += pQuantitéKwh;
}
/// <summary>
/// Méthode : Calcule le cout de la consommation
/// </summary>
/// <returns>coût (en dollars) de la consommation actuelle</returns>
public double CoutConsommation()
{
return PRIX_KWH * m_consommationActuelle/100;
}
}
Une classe est composée de plusieurs éléments permettant de stocker des informations et de définir des comportements.
♾️ Constante (variable membre)
La constante est un champ de classe statique et immuable. Sa valeur est fixe et partagée par toutes les instances de la classe.
Elle est accessible via le nom de la classe : CompteurHydro.PRIX_KWH.
Dans cet exemple, PRIX_KWH stocke le prix d’un kilowattheure (en dollars).
public const double PRIX_KWH = 0.6905;
🤫 Champ (variable membre)
Un champ est une variable membre privée qui sert à stocker une information propre à l’objet. Il n’est accessible qu’à l’intérieur de la classe. Dans cet exemple le champ m_consommationActuelle sert à stocker la consommation actuelle du compteur.
private int m_consommationActuelle;
📂 Propriété
Une propriété permet de donner accès à un champ en lecture et/ou en écriture, tout en contrôlant cet accès. Dans cet exemple, la propriété ConsommationActuelle permet uniquement la lecture de la consommation actuelle.
public int ConsommationActuelle
{
// Accès en lecture
get { return m_consommationActuelle; }
}
🛠️ Constructeur
Un constructeur est une méthode particulière appelée lors de la création d’un objet. Il sert à initialiser tous les champs (variables membres) de la classe. Il est possible d'avoir plus d'un constructeur. À ce moment, les constructeurs sont différenciés par leurs paramètres. Dans cet exemple, le constructeur CompteurHydro initialise le champ m_consommationActuelle à zéro.
public CompteurHydro()
{
m_consommationActuelle = 0;
}
⚙️ Méthode
Une méthode définit un comportement de l'objet. Elle permet d’effectuer un traitement ou une action sur un ou plusieurs champs de la classe. Il est important de s'assurer de ne donner qu'une seule responsabilité à une méthode. Des méthodes courtes, simples et ciblées sont la clé du succès.
Dans cet exemple, la méthode Consommer permet de modifier la consommation en ajoutant une quantité donnée.
public void Consommer(int pQuantitéKwh)
{
m_consommationActuelle += pQuantitéKwh;
}
La méthode CoutConsommation permet de calculer et retourner le coût de la consommation.
public double CoutConsommation()
{
return PRIX_KWH * m_consommationActuelle/100;
}
👉 Cet exemple montre comment une classe regroupe données (champ), accès (propriété) et comportements (méthode) dans une même structure cohérente.