Encapsulation de programmation orientée objet C#

Dans la programmation orientée objet, l'encapsulation fait référence à la liaison de données et d'opérations sous une seule unité.
L'encapsulation conduit à l'abstraction ou au masquage des données.

Nous souhaiterons peut-être masquer les données relatives à l'employé dans la classe Employé et ne pas autoriser les objets extérieurs à les modifier.
Nous pouvons y parvenir en C# via des modificateurs d'accès.

En C#, nous avons les modificateurs d'accès suivants.

Modificatrice
La description
public
Dans ce cas, tous les membres peuvent être modifiés par tous.
private
Dans ce cas, les membres ne sont accessibles que par des fonctions à l'intérieur de la classe.
protected
Les membres de la classe protégée ne sont accessibles que par les fonctions à l'intérieur de la sous-classe. Nous verrons le concept de sous-classe dans Héritage.
internal
Ce spécificateur d'accès permet d'accéder aux membres au sein du même assembly (.dll).
protected internal
Il s'agit d'une union de modificateurs d'accès protégés et d'union.
Créons maintenant une classe Employee avec des membres privés.
using System;
namespace CosmicLearn
{
    class Employee
    {
        private int employeeId;
        private string employeeName;

        //Parameterized constructor.
        public Employee(int id, string name)
        {
            this.employeeId = id;
            this.employeeName = name;
        }

        public void printDetails()
        {
            Console.WriteLine(this.employeeId);
            Console.WriteLine(this.employeeName);
        }
    }
}

Nous avons déclaré employeeId et employeeName sous le modificateur d'accès privé.
La seule façon de les définir maintenant est via les fonctions de la classe Employé.
Nous pouvons maintenant créer un objet employé avec les paramètres comme indiqué ci-dessous.
static void Main(string[] args)
{
	Employee employee1 = new Employee(1, "Mugambo");
	employee1.printDetails();
}

Sortie :
1
Mugambo


Précédent : Programmation orientée objet C# - Classe et interface | Suivant : Programmation orientée objet C# - Héritage et polymorphisme

<
>