TOC

This article is currently in the process of being translated into French (~99% done).

Classes:

Introduction to C# classes

Dans de nombreux manuels de programmation, le sujet des classes ne serait abordé que bien plus tard. Cependant, comme C# est complètement dédié à la programmation orientée objet, et, par conséquent, repose largement sur les classes, nous allons dès à présent proposer une introduction élémentaire pour présenter leurs principales caractéristiques.

Tout d'abord, une classe est un groupe de méthodes et de variables liées entre elles. Une classe décrit ces éléments, et, dans la plupart des cas, on crée une instance de cette classe, qu'on appellera un objet. A cet objet s'appliquent les méthodes et les variables de sa classe. Bien entendu, il est possible de créer autant d'instances de la classe qu'on veut. Les classes, et plus généralement la programmation orientée objet, sont un très vaste sujet. Nous n'en couvrirons qu'une partie dans ce chapitre et dans les suivants.

Dans le chapitre Hello World, nous avons vu un premier usage d'une classe, puisque tout, dans C#, repose sur des classes. Développons notre exemple Hello world avec une classe que nous construirons nous-mêmes.

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Car car;

            car = new Car("Red");
            Console.WriteLine(car.Describe());

            car = new Car("Green");
            Console.WriteLine(car.Describe());

            Console.ReadLine();

        }
    }

    class Car
    {
        private string color;

        public Car(string color)
        {
            this.color = color;
        }

        public string Describe()
        {
            return "This car is " + Color;
        }

        public string Color
        {
            get { return color; }
            set { color = value; }
        }
    }
}

Bien, il y a là pas mal de nouveautés, mais presque tout repose sur des choses que nous avons déjà vues dans ce tutoriel. Comme vous le voyez, nous avons défini une nouvelle classe, appelée Car (voiture). Elle est déclarée dans le même fichier que notre application principale, pour une meilleure vue d"ensemble, mais les classes nouvelles sont habituellement définies dans des fichiers séparés. Cette classe est caractérisée par une variable unique, appelée color, qui, naturellement, sert à indiquer la couleur de la voiture. Nous l'avons déclarée comme privée, ce qui est une bonne habitude : l'accès aux variables depuis l'extérieur doit se faire en utilisant une propriété. La propriété Color est définie à la fin de la classe, et donne accès à la variable color.

En plus, notre classe Car définit un constructeur. Il accepte un paramètre qui nous permet d'initialiser les objets Car avec un couleur. Comme il n'y a qu'un constructeur, les objets Car ne peuvent être instanciés qu'avec une couleur. La méthode Describe() nous permet de récupérer un message sympa avec la seule information que nous enregistrons au sujet de notre voiture. Le résultat est une simple chaine contenant l'information que nous avons fournie.

A présent, dans notre application principale, nous déclarons une variable de type Car. Ensuite, nous en créons une nouvelle instance, avec "Red" comme paramètre. Selon la façon dont notre classe est codée, cela signifie que nous attribuons la couleur rouge comme couleur de notre voiture. Afin de le vérifier, nous appelons la méthode Describe(), et pour montrer à quel point il est facile de créer plusieurs instances de la même classe, nous recommençons, mais avec une autre couleur. Nous venons juste de créer et d'utiliser notre première classe fonctionnelle.

Dans les chapitre suivants, nous expliquerons plus en détail des concepts comme les propriétés, les constructeurs, et la visibilité.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!