Quelle est la différence entre l'encapsulation et l'abstraction en C

Table des matières:

Anonim

Les différence principale entre l'encapsulation et l'abstraction en C# est que le l'encapsulation encapsule les données et les méthodes dans une seule unité tandis que l'abstraction masque les détails de l'implémentation et n'affiche la fonctionnalité qu'aux utilisateurs.

C# est un langage de programmation généraliste de haut niveau développé par Microsoft. Il est construit sur le framework.NET. Le framework fournit l'environnement et les outils nécessaires pour développer et déployer des applications. L'un des principaux avantages de C# est qu'il prend en charge la programmation orientée objet (POO). Par conséquent, les développeurs peuvent facilement modéliser et représenter les scénarios du monde réel pour résoudre les problèmes. L'encapsulation et l'abstraction sont deux piliers majeurs de la POO.

Abstraction, C#, Encapsulation,.NET Framework, POO

Qu'est-ce que l'encapsulation en C#

L'encapsulation connecte les données et les méthodes en une seule unité. Par exemple, supposons une capsule médicale. Le revêtement protège le médicament à l'intérieur de la capsule. L'encapsulation est similaire à cela.

L'objectif principal de l'encapsulation est d'empêcher l'accès aux données. Il existe plusieurs modificateurs d'accès disponibles en C# tels que public, protected, private, etc. Les membres publics sont accessibles par n'importe quelle autre classe. Les membres protégés sont accessibles au sein de la classe et par sous-classes. Cependant, les membres privés ne sont accessibles qu'au sein de la classe. Le programmeur peut rendre les données membres privées et utiliser des getters et setters publics pour lire et écrire les données. De même, l'encapsulation combine des données et des méthodes en une seule unité et empêche également d'accéder directement aux données.

Figure 1: programme C# avec encapsulation

Dans ce programme ci-dessus, l'étudiant est une classe. Il a un membre de données privé appelé nom. La méthode setName reçoit une chaîne et attribue cette valeur à name. La méthode getName renvoie le nom de la chaîne. Dans le programme principal, il existe un objet appelé s de type Student. A la ligne 20, le setName est appelé sur l'objet s. La chaîne « Ann » est transmise à cette méthode. A la ligne 21, le getName permet d'obtenir le nom. Enfin, le nom s'imprime sur la console. L'encapsulation combine les données et les méthodes en une seule unité. Plutôt que d'accéder directement aux données membres, le programmeur utilise la méthode public set pour attribuer la valeur et la méthode public get pour obtenir la valeur.

Qu'est-ce que l'abstraction en C#

L'abstraction permet de masquer les détails de l'implémentation et permet d'afficher uniquement la fonctionnalité à l'utilisateur. Supposons une télécommande d'un téléviseur. L'utilisateur n'a pas besoin de connaître les circuits internes du contrôleur pour l'utiliser. L'abstraction est semblable à cela. Il se concentre sur ce que fait l'objet plutôt que de prêter attention à la façon dont il est fait.

En C#, il existe deux méthodes pour réaliser l'abstraction. Ils utilisent une classe ou une interface abstraite. Une classe abstraite peut avoir des méthodes abstraites et non abstraites. Une classe qui étend une classe abstraite doit fournir les implémentations des méthodes abstraites. Dans une interface, toutes les méthodes sont abstraites. Une classe qui implémente une interface doit fournir les définitions de ces méthodes abstraites.

Figure 2: programme C# avec une classe abstraite

Dans le programme ci-dessus, Shape est une classe abstraite. Il a une méthode abstraite appelée draw. La classe Triangle étend Shape. Ainsi, cette classe implémente la méthode draw. Dans la méthode principale, s est un objet de type Shape. La méthode de dessin est appelée la méthode de dessin de Triangle.

Figure 3: programme C# avec une interface

Dans le programme ci-dessus, Shape est une interface. Il a une méthode abstraite appelée draw. La classe Triangle étend Shape. Il fournit la définition de la méthode draw. Dans la méthode principale, s est un objet de type Shape. La méthode de dessin est appelée la méthode de dessin de Triangle.

Différence entre l'encapsulation et l'abstraction en C #

Définition

L'encapsulation en C# est un concept de POO qui lie les données et les méthodes pour créer une seule unité. L'abstraction en C#, en revanche, est un concept de POO qui masque les détails de l'implémentation et n'affiche que les fonctionnalités pour l'utilisateur. C'est donc la principale différence entre l'encapsulation et l'abstraction.

Méthode de réalisation

De plus, le programmeur peut rendre les données membres privées et utiliser des méthodes publiques pour réaliser l'encapsulation en C#. Il existe des classes abstraites et des interfaces pour réaliser l'abstraction en C#.

Usage

L'utilisation est une autre différence entre l'encapsulation et l'abstraction. C'est-à-dire; l'encapsulation masque les données à des fins de protection des données tandis que l'abstraction masque les détails de l'implémentation pour réduire la complexité du code.

Conclusion

L'encapsulation et l'abstraction sont deux concepts de POO que nous pouvons implémenter à l'aide de la programmation C#. La principale différence entre l'encapsulation et l'abstraction en C# réside dans le fait que l'encapsulation encapsule les données et les méthodes dans une seule unité, tandis que l'abstraction masque les détails de l'implémentation et n'affiche la fonctionnalité que pour les utilisateurs.

Référence:

1. « Résumé C # - Javatpoint ». Www.javatpoint.com, disponible ici.2. "Interface C # - Javatpoint". Www.javatpoint.com, disponible ici. 3. "Encapsulation C # - Javatpoint." Www.javatpoint.com, disponible ici.

Quelle est la différence entre l'encapsulation et l'abstraction en C