Programmation .Net - Indépendance financière

Comment utiliser les constructeurs en C#/Visual Basic

Maintenant que vous avez une vue d’ensemble de ce qu’est une classe, nous pouvons plonger un peu plus dans le sujet. Dans ce tutoriel, nous traîterons des constructeurs et de leurs particularités.

Rappelez-vous du tutoriel précédent alors que je parlais de l’exemple de la voiture. En réalité, les voitures peuvent avoir différents combos d’options. Nous aurons probablement un modèle de base, un modèle plus haut de gamme et etc. Le constructeur d’une classe agît de façon similaire, c’est-à-dire qu’il vous donne le choix entre plusieurs types de constructions de votre voiture (classe ici)mais vous ne pouvez la construire qu’une seule fois.

Les règles des constructeurs!

1. Vous pouvez ajouter autant de constructeurs que vous voulez à une classe.
2. Vous appelez seulement le constructeur une fois lorsque vous créer un nouvel objet réel de votre plan (classe).
3. Les constructeurs sont définis par leurs paramètres, par exemple string ID, int Age est équivalent à string Nom, int Numero. Ce qui est important est la signature donc les types utilisés.
4. Un constructeur porte le nom de la classe à laquelle il appartient (C#) ou le mot clé New (Visual Basic).
5. Un constructeur n’a pas de valeur de retour.
6. Il peut être public ou privé (dans certain rares cas).

Nous avons appris comment déclarer un constructeur dans le dernier tutoriel. Nous pourrons maintenant en déclarer plusieurs à la fois! Créer une nouvelle application de type console.

Voyons un exemple des règles ci-dessus.

Créons une nouvelle classe comme dans le tutoriel précédent mais appelons la User, représentant un utilisateur d’un système. Ce sera notre plan pour y mettre des constructeurs.

Visual Basic

Public Class User
    Public Property FirstName As String
    Public Property LastName As String
    Public Property Age As Integer

    Public Sub New()

    End Sub
End Class

C#

    public class User
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }

        public User()
        {

        }
    }

Nous avons créer quelques propriétés et un constructeur vide. Un constructeur comme celui-ci, n’ayant aucun paramètre se nomme constructeur par défaut. Notez que votre classe aura toujours un constructeur par défaut même si vous n’en déclarez pas un explicitement.

Un constructeur par défaut peut être utile pour initialiser les propriétés ou membres de la classe pouvant constituer notre combo de base pour rester avec l’exemple de la voiture plus haut.

Visual Basic

Public Class User
    Public Property FirstName As String
    Public Property LastName As String
    Public Property Age As Integer

    Public Sub New()
        FirstName = "Alexandre"
        LastName = "Sauve"
        Age = 25
    End Sub
End Class

C#

    public class User
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }

        public User()
        {
            FirstName = "Alexandre";
            LastName = "Sauve";
            Age = 25;
        }
    }

Les propriétés sont maintenant initialisées, effectuons l’essai de notre programme pour voir si tout fonctionne bien. Remarquez que je change toujours le nom de Module1.vb pour Program.vb dans le but de rester constant entre C# et Visual Basic. Dans le fichier Program.vb/Program.cs :

Visual Basic

Module Program
    Sub Main()
        Dim NewUser = New User()
    End Sub
End Module

C#

    class Program
    {
        static void Main(string[] args)
        {
            User NewUser = new User();
        }
    }

Remarquer que le new User() appelle justement le constructeur par défaut que nous avons déclaré pour créer un nouvel utilisateur. Nous savons que c’est le bon constructeur car il n’y a pas de paramètres entre les parenthèses tout comme à l’intérieur de la classe.

Default Constructor User

C’est effectivement ce que nous avons codé dans le constructeur par défaut!

Essayons maintenant de rendre les choses un peu plus complexes, nous allons créer un constructeur par paramètre dans la classe User pour laisser le soin à notre utilisateur de décider de la construction initiale de son objet User.

Retournez à votre classe utilisateur pour l’exemple suivant :

Visual Basic

Public Class User
    Public Property FirstName As String
    Public Property LastName As String
    Public Property Age As Integer

    Public Sub New()
        FirstName = "Alexandre"
        LastName = "Sauve"
        Age = 25
    End Sub

    Public Sub New(FirstName As String, LastName As String, Age As Integer)
        Me.FirstName = FirstName
        Me.LastName = LastName
        Me.Age = Age
    End Sub
End Class

C#

    public class User
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }

        public User()
        {
            FirstName = "Alexandre";
            LastName = "Sauve";
            Age = 25;
        }

        public User(string FirstName, string LastName, int Age)
        {
            this.FirstName = FirstName;
            this.LastName = LastName;
            this.Age = Age;
        }
    }

Et voilà! Même nom de méthode comme vous pouvez le constateur et aucune valeur de retour! La seule chose qui a changée est l’ajout de paramètres. Ces derniers devrons donc être assignés lors de la construction de l’objet en tant que tel dans Program.vb/Program.cs.

Voici un exemple des choix que nous aurons lors de la construction de l’objet.

Two Constructors

Si nous ajoutons d’autres constructeurs, cette liste se remplira davantage.

Nous pouvons maintenant créer encore plus de constructeurs!

Rappelez-vous que vous pouvez créer autant de constructeurs de vous voulez, aussi longtemps que leur signature ne se répète pas (type des paramètres). De plus, les constructeurs servent essentiellement à définir un état initial pour l’objet en question.

Next article Les propriétés des classes en Visual Basic/C#
Previous article Classes et programmation orientée objet en Visual Basic/C#

Related posts

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Comment

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person. Required fields marked as *