L'encapsulation en C# est définie comme une fonctionnalité intégrée du langage de programmation C# pour remplir la fonctionnalité d'encapsulation. Pour comprendre la fonctionnalité d'encapsulation, elle est définie comme le regroupement d'un ou plusieurs éléments dans une seule unité et la garantie qu'ils présentent une similitude logique ou physique, ce qui justifie de les regrouper ensemble. Ils sont regroupés pour garantir que l'accès aux détails de mise en œuvre soit empêché, et ce faisant, la modification des données est empêchée. La seule façon d'accéder aux détails est via la fonction getter dans la classe, et la seule façon de modifier les détails est via les fonctions setter. L'entité packagée qui regroupe les données membres et les fonctions membres collectées dans une seule entité est connue sous le nom de classe.
Syntaxe d'encapsulation C#
L'idée d'avoir sprintf a commencé à gagner en popularité lorsqu'il est devenu une approche alternative consistant à stocker les messages imprimables au lieu de les imprimer dans la console afin qu'ils puissent être consultés à tout moment selon les besoins de l'application. Le sprintf signifie « String Print », et ici nous examinerons la perspective syntaxique de la fonction sprintf en C et comprendrons les paramètres ou arguments dans la syntaxe.
1. Déclaration de la variable à encapsuler en C#.
private < data type > < variable name >;
2. Fonction Getter de la variable, qui est encapsulée en C#.
get { return < variable name >; }
3. Fonction setter de la variable, qui est encapsulée en C#.
set { return < variable name >; }
4. Déclaration de la classe qui va encapsuler en C#.
public class < class name >{ // Declare the elements of the public class. }
Vous trouverez ci-dessous les exemples d'encapsulation C# :
Essayer d'accéder à une variable privée dans la classe à l'aide d'accesseurs et de mutateurs (ERREUR attendue dans ce code).
Code :
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string GetName() { return name; } public void SetName(string n) { name = n; } public string GetDept() { return name; } public void SetDepartname(string d) { dept = d; } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.name = "AmKy"; e.dept = "EduCBA"; e.Display(); Console.ReadLine(); } } }
Sortie :
Utiliser le genre d'accesseurs et de mutateurs approprié pour accéder et modifier les éléments de la classe.
Code :
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string GetName() { return name; } public void SetName(string n) { name = n; } public string GetDept() { return name; } public void SetDepartname(string d) { dept = d; } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.SetName("AmKy"); e.SetDepartname("EduCBA"); e.Display(); Console.ReadLine(); } } }
Sortie :
Encapsulation à l'aide de propriétés.
Code :
using System; namespace EmployeeApplication { class Employee { private string name; private string dept; public string DeptProp { get { return dept; } set { dept = value; } } public string EmpName { get { return name; } set { name = value; } } public void Display() { Console.WriteLine("Name: {0}", name); Console.WriteLine("Department: {0}", dept); } } class ExecuteRectangle { static void Main(string[] args) { Employee e = new Employee(); e.EmpName = "Employee 2"; e.DeptProp = "Finance"; e.Display(); Console.ReadLine(); } } }
Sortie :
Dans cet article, nous avons passé en revue la manière dont l'encapsulation est effectuée en C# ainsi que des exemples dans lesquels nous avons également compris comment l'accès à tout objet privé d'une autre classe, même via l'instance de la classe parent, peut conduire à des erreurs et rendant le code non exécutable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!