Maison  >  Article  >  développement back-end  >  Encapsulation C#

Encapsulation C#

WBOY
WBOYoriginal
2024-09-03 15:05:35579parcourir

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.
}

Comment fonctionne l'encapsulation en C# ?

  • Le concept d'encapsulation est né lorsque les données d'une application étaient susceptibles d'être corrompues en raison d'erreurs non perceptibles pouvant survenir par toute autre personne. Étant donné que les données sont un élément critique dans un concept de programmation orientée objet, nous devons éviter toute modification accidentelle des données par une fonction extérieure et, ce faisant, sauvegarder également les données de toute attaque malveillante.
  • La façon dont les données sont encapsulées consiste à définir les éléments comme étant privés et à les rendre ainsi permettant la modification possible de seulement 2 manières. Ce sont les 2 façons dont nous allons maintenant parler en détail pour avoir une image complète du fonctionnement de l’encapsulation. La première méthode consiste à utiliser les accesseurs et les mutateurs. Lorsqu'une classe est créée, nous rendons certains éléments privés, ce qui signifie que ces éléments n'ont aucun accès depuis des éléments extérieurs à la classe. Maintenant, nous créons 2 fonctions qui garantissent que si une modification ou même une récupération doit être effectuée, elle sera effectuée par des accesseurs (pour la récupération) et des mutateurs (pour la modification). Ces fonctions sont ce qui est défini comme public afin que toute fonction/classe en dehors de la classe native puisse accéder aux mutateurs et accesseurs. L'autre méthode consiste à utiliser des propriétés, et il existe 2 propriétés get et set qui permettent respectivement la récupération et la modification des éléments.
  • De ces 2 manières, lorsque l'accesseur souhaité est appelé dans une autre classe en définissant une instance de la classe qui contient les éléments privés. Cette instance, par défaut, inclut toutes les fonctions publiques de la classe parent (la classe à laquelle appartient l'instance). En utilisant maintenant ces propriétés/accesseurs/mutateurs publics, la tâche requise est appelée. Après avoir été appelée, la tâche correspondante se voit attribuer soit une récupération, soit une modification selon le choix de la tâche effectuée. Ce fonctionnement peut être considéré comme analogue à une organisation dans laquelle seules certaines personnes de l'organisation ont accès aux dossiers financiers (les informations les plus confidentielles), et si l'on a besoin de récupérer ou de modifier une entrée, l'instance du service financier est appelée et assigné le travail correspondant.

Exemples d'encapsulation C#

Vous trouverez ci-dessous les exemples d'encapsulation C# :

Exemple n°1

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 :

Encapsulation C#

Exemple n°2

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 C#

Exemple #3

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 :

Encapsulation C#

Conclusion

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Fichier de lecture C#Article suivant:Fichier de lecture C#