Guide débutant pour les classes en C

Salut les futurs programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde des classes C#. Ne vous inquiétez pas si vous n'avez jamais codé auparavant - je serai votre guide amical, expliquant tout étape par étape. Alors, plongeons dedans !

C# - Classes

Qu'est-ce qu'une classe ?

Avant de commencer, comprenons ce qu'est une classe. Pensez à une classe comme un plan pour créer des objets. C'est comme un emporte-pièce qui définit la forme et les caractéristiques des cookies que vous ferez. En programmation, une classe définit les propriétés et les comportements que les objets de cette classe auront.

Définir une classe

Commençons par créer une classe simple. Nous allons créer une classe Dog parce que, bien sûr, qui n'aime pas les chiens ?

public class Dog
{
// Les membres de la classe vont ici
}

Cette est la structure de base d'une classe. Le mot-clé public signifie que cette classe peut être accédée desde d'autres parties de votre programme. À l'intérieur des accolades {}, nous définirons les membres de la classe.

Ajouter des propriétés

Les propriétés sont comme les caractéristiques de notre chien. Ajoutons-en quelques-unes :

public class Dog
{
public string Name;
public int Age;
public string Breed;
}

Maintenant, notre classe Dog a un nom, un âge et une race. Ceux-ci sont appelés champs ou propriétés de la classe.

Fonctions membres et encapsulation

Les fonctions membres (ou méthodes) sont des actions que notre chien peut effectuer. Ajoutons une méthode pour faire aboyer notre chien :

public class Dog
{
public string Name;
public int Age;
public string Breed;

public void Bark()
{
Console.WriteLine("Woof! Woof!");
}
}

La méthode Bark est une action simple qui écrit "Woof! Woof!" dans la console.

Encapsulation

L'encapsulation est comme mettre les traits de votre chien dans une bulle protectrice. C'est un moyen de contrôler l'accès aux membres de la classe. Modifions notre classe pour utiliser l'encapsulation :

public class Dog
{
private string name;
private int age;
public string Breed { get; set; }

public string Name
{
get { return name; }
set { name = value; }
}

public int Age
{
get { return age; }
set
{
if (value > 0)
age = value;
}
}

public void Bark()
{
Console.WriteLine("Woof! Woof!");
}
}

Maintenant, name et age sont privés, et nous y accédons via des propriétés publiques. Cela nous permet d'ajouter de la logique, comme nous assurer que l'âge est toujours positif.

Constructeurs en C

Un constructeur est une méthode spéciale qui est appelée lorsque vous créez une nouvelle instance d'une classe. C'est comme préparer votre chien lorsque vous le recevez pour la première fois. Ajoutons un constructeur à notre classe Dog :

public class Dog
{
// ... code précédent ...

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
}
}

Maintenant, nous pouvons créer un nouveau chien comme ceci :

Dog myDog = new Dog("Buddy", 3, "Labrador");

Destructeurs en C

Les destructeurs sont des méthodes qui nettoient les ressources lorsque l'objet n'est plus nécessaire. En C#, ils sont rarement utilisés parce que le ramasse-miettes gère la gestion de la mémoire. Mais pour être complet, voici comment vous les définiriez :

public class Dog
{
// ... code précédent ...

~Dog()
{
Console.WriteLine("Goodbye, " + Name + "!");
}
}

Ce destructeur sera appelé lorsque l'objet chien est détruit par le ramasse-miettes.

Membres statiques d'une classe C

Les membres statiques appartiennent à la classe elle-même, pas à une instance spécifique. Ils sont partagés par toutes les instances de la classe. Ajoutons un membre statique pour suivre combien de chiens nous avons créés :

public class Dog
{
// ... code précédent ...

public static int DogCount = 0;

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
DogCount++;
}

public static void ReportDogCount()
{
Console.WriteLine("Nombre total de chiens : " + DogCount);
}
}

Maintenant, chaque fois que nous créons un nouveau Dog, le DogCount augmentera. Nous pouvons appeler Dog.ReportDogCount() à tout moment pour voir combien de chiens nous avons créés.

Mettre tout ensemble

Utilisons notre classe Dog dans un programme :

class Program
{
static void Main(string[] args)
{
Dog dog1 = new Dog("Buddy", 3, "Labrador");
Dog dog2 = new Dog("Max", 5, "German Shepherd");

Console.WriteLine(dog1.Name + " est un " + dog1.Breed);
dog1.Bark();

Console.WriteLine(dog2.Name + " a " + dog2.Age + " ans");
dog2.Bark();

Dog.ReportDogCount();
}
}

Ce programme crée deux chiens, affiche leur information, les fait aboyer et rapporte le nombre total de chiens créés.

Conclusion

Félicitations ! Vous venez d'apprendre les bases des classes en C#. Nous avons couvert la définition des classes, l'ajout de propriétés et de méthodes, l'utilisation de constructeurs et destructeurs, et même touché aux membres statiques. Souvenez-vous, la pratique rend parfait, donc essayez de créer vos propres classes et expérimentez avec différentes propriétés et méthodes.

Voici un tableau résumant les principales méthodes que nous avons discutées :

Méthode Description
Constructor Initialise une nouvelle instance de la classe
Destructor Nettoie les ressources lorsque l'objet est détruit
Bark() Fait aboyer le chien
ReportDogCount() Rapporte le nombre total de chiens créés

Continuez à coder, et bientôt vous serez en mesure de créer des programmes complexes avec aisance. Bonne continuation dans votre apprentissage !

Credits: Image by storyset