Image de l'article Encapsulation : objets

19.7. Encapsulation : objets

Page 68 | Écouter en audio

19.7 Encapsulation : Objets

L'encapsulation est l'un des quatre grands principes du paradigme de programmation orientée objet (POO), avec l'héritage, la polymorphie et l'abstraction. C'est une technique qui consiste à restreindre l'accès direct à certains composants d'un objet et à fournir des méthodes (fonctions) pour manipuler les valeurs de ces composants.

L'encapsulation est souvent appelée l'acte de regrouper les données (variables) et les méthodes (fonctions) qui opèrent sur ces données dans une seule unité, qui est l'objet. En d'autres termes, l'encapsulation est l'idée de masquer l'état interne d'un objet et d'exiger que l'interaction avec cet objet soit effectuée via ses méthodes.

Pourquoi l'encapsulation est-elle importante ?

L'encapsulation est importante pour plusieurs raisons. Premièrement, cela permet de maintenir l’intégrité des données au sein d’un objet en garantissant qu’elles ne peuvent pas être modifiées de manière inappropriée ou inattendue. Cela se fait en masquant les attributs d'un objet et en fournissant des méthodes publiques pour accéder et modifier ces attributs.

Deuxièmement, l'encapsulation contribue à la modularité du code. Étant donné que les détails d'implémentation d'un objet sont masqués, les autres objets n'ont pas besoin de comprendre ou de se soucier de la façon dont cet objet fonctionne en interne. Cela rend le code plus gérable, plus évolutif et moins sujet aux erreurs.

Enfin, l'encapsulation facilite la réutilisation du code. Étant donné qu'un objet encapsule ses données et ses méthodes, il peut être facilement réutilisé dans différentes parties d'un programme ou dans différents programmes.

Comment fonctionne l'encapsulation ?

L'encapsulation est implémentée un peu différemment selon les langages de programmation, mais l'idée de base est la même. Dans un langage de programmation orienté objet comme Java ou C#, vous définissez une classe pour créer un objet. La classe comprend des variables pour stocker des données (appelées champs ou attributs) et des fonctions pour opérer sur ces données (appelées méthodes).

Par défaut, tous les champs et méthodes d'une classe sont accessibles à tout code pouvant accéder à l'objet. Cependant, vous pouvez restreindre l'accès à certains champs et méthodes à l'aide de modificateurs d'accès. En Java et C#, par exemple, vous pouvez utiliser les modificateurs « privé », « protégé » et « public » pour contrôler l'accès aux champs et méthodes d'une classe.

Un champ ou une méthode « privée » n'est accessible qu'au sein de la même classe. Un champ ou une méthode « protégé » est accessible au sein de la même classe et par sous-classes. Un champ ou une méthode « public » est accessible par n'importe quel code pouvant accéder à l'objet.

Pour fournir un accès contrôlé aux champs privés, vous pouvez utiliser les méthodes « get » et « set ». Une méthode « get » renvoie la valeur d'un champ privé et une méthode « set » vous permet de modifier la valeur d'un champ privé. Cela vous permet de contrôler exactement comment et quand les champs privés peuvent être consultés et modifiés.

Exemple d'encapsulation

Pour illustrer le fonctionnement de l'encapsulation, prenons un exemple simple. Supposons que nous ayons une classe « Personne » avec deux champs privés : « nom » et « âge ».

classe Personne { nom de chaîne privé ; entier privé ; }

Étant donné que « nom » et « âge » sont privés, ils ne sont pas accessibles directement depuis l'extérieur de la classe « Personne ». Pour permettre un accès contrôlé à ces champs, nous pouvons ajouter les méthodes 'get' et 'set' pour chacun d'eux :

classe Personne { nom de chaîne privé ; entier privé ; chaîne publique getName() { renvoyer le nom ; } public void setName (String newName) { nom = nouveauNom ; } public int getAge() { âge de retour; } public void setAge(int nouvelAge) { si (nouvelAge >= 0) { âge = nouvelAge ; } } }

Ici, 'getName' et 'getAge' sont des méthodes 'get' qui renvoient respectivement les valeurs de 'name' et 'age'. 'setName' et 'setAge' sont des méthodes 'set' qui vous permettent de modifier respectivement les valeurs de 'name' et 'age'. Notez que 'setAge' vérifie si le nouvel âge est supérieur ou égal à zéro avant de modifier 'age'. Ceci est un exemple de la façon dont l'encapsulation peut être utilisée pour maintenir l'intégrité des données.

Conclusion

En résumé, l'encapsulation est un principe fondamental de la programmation orientée objet qui permet de maintenir l'intégrité des données, de promouvoir la modularité du code et de faciliter la réutilisation du code. Pour ce faire, il encapsule les données et les méthodes qui opèrent sur ces données dans des objets et restreint l'accès direct à certains composants de ces objets.

Répondez maintenant à l’exercice sur le contenu :

Lequel des principes suivants constitue un principe fondamental de la programmation orientée objet qui permet de maintenir l’intégrité des données, de promouvoir la modularité du code et de faciliter la réutilisation du code ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Encapsulation : Encapsulation

Page suivante de lebook gratuit :

69Encapsulation : Encapsulation

3 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte