Vous êtes ici :
Accueil Cours Programmations La Programmation Orientée Objet en Java L’Encapsulation

La Programmation Orientée Objet en Java : L’Encapsulation

L'encapsulation est l'un des quatre concepts fondamentaux de POO. Les trois autres sont l'héritage, le polymorphisme et l'abstraction.

L'encapsulation est la technique de rendre les champs dans une classe privée et d'accéder aux champs par des méthodes publiques. Si un champ est déclaré privé, il ne peut être accédé en dehors de la classe, ce qui cache les champs dans la classe. Pour cette raison, l'encapsulation est également appelée cache de données.

L'encapsulation peut être décrite comme une barrière protectrice qui empêche le code et les données qui sont accessibles au hasard par un autre code défini en dehors de la classe. L'accès aux données et au code est étroitement contrôlé par une interface.

Le principal avantage de l'encapsulation est la possibilité de modifier notre code implémenté sans casser le code d'autres personnes qui utilisent notre code. Grâce à cette fonctionnalité, l'encapsulation assure la durabilité, la flexibilité et l'extensibilité de notre code.

Exemple:

Examinons un exemple qui illustre l'encapsulation:

/* File name : EncapTest.java */
public class EncapTest{
   private String name;
   private String idNum;
   private int age;

   public int getAge(){
      return age;
   }

   public String getName(){
      return name;
   }

   public String getIdNum(){
      return idNum;
   }

   public void setAge( int newAge){
      age = newAge;
   }

   public void setName(String newName){
      name = newName;
   }

   public void setIdNum( String newId){
      idNum = newId;
   }
}

 Les méthodes publiques sont les points d'accès aux champs de cette classe à l’extérieur de la classe. Normalement, ces méthodes sont appelées getters et setters. Par conséquent, toute classe qui souhaite accéder aux variables devrait y accéder à travers ces getters et setters.

Les variables de la classe EncapTest peuvent être accessibles comme ci-dessous :

/* File name : RunEncap.java */
public class RunEncap{
   public static void main(String args[]){
      EncapTest encap = new EncapTest();
      encap.setName("James");
      encap.setAge(20);
      encap.setIdNum("12343ms");
      System.out.print("Name : " + encap.getName()+ " Age : "+ encap.getAge());

    }
}

Cela produirait le résultat suivant:

Name : James Age : 20

Avantages de l'encapsulation

  • Les champs d'une classe peuvent être declarés en lecture seule ou en écriture uniquement.
  • Une classe peut avoir un contrôle total sur ce qui est stocké dans ses champs.
  • Les utilisateurs d'une classe ne savent pas comment la classe stocke ses données. Une classe peut changer le type de données d'un champ et les utilisateurs de la classe n'ont pas besoin de changer leur code.



Vous êtes ici :
Accueil Cours Programmations La Programmation Orientée Objet en Java L’Encapsulation