Maison  >  Article  >  Java  >  Qu’est-ce que l’encapsulation Java ?

Qu’est-ce que l’encapsulation Java ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-11-14 10:06:241893parcourir

Qu’est-ce que l’encapsulation Java ?

Dans les méthodes de programmation orientées objet, l'encapsulation fait référence à une méthode d'empaquetage partiel et de masquage des détails d'implémentation d'une interface fonctionnelle abstraite. L'encapsulation peut être considérée comme une barrière de protection qui empêche l'accès aléatoire au code et aux données de la classe par le code défini par la classe externe. Pour accéder au code et aux données de cette classe, vous devez passer des contrôles d'interface stricts. La fonction principale de l'encapsulation est que nous pouvons modifier notre propre code d'implémentation sans modifier les fragments de programme qui appellent notre code. Une encapsulation appropriée peut rendre le code du programme plus facile à comprendre et à maintenir, et améliore également la sécurité du code du programme.

Avantages de l'encapsulation

1. Une bonne encapsulation peut réduire le couplage.

2. La structure à l'intérieur de la classe peut être modifiée librement.

3. Les variables membres peuvent être contrôlées plus précisément.

4. Masquer les informations et mettre en œuvre les détails.

Étapes pour implémenter l'encapsulation Java

1 Modifier la visibilité de l'attribut pour restreindre l'accès à l'attribut (généralement restreint au privé), par exemple :

.
public class Person {
    private String name;
    private int age;
}

Dans ce code, les attributs name et age sont définis sur private, qui ne sont accessibles que par cette classe et non par les autres classes, masquant ainsi les informations.

2. Fournissez un accès par une méthode publique externe à chaque attribut de valeur, c'est-à-dire créez une paire de méthodes d'affectation pour accéder aux attributs privés, par exemple :

public class Person{
    private String name;
    private int age;
    public int getAge(){
      return age;
    }
    public String getName(){
      return name;
    }
    public void setAge(int age){
      this.age = age;
    }
    public void setName(String name){
      this.name = name;
    }
}

Utilisez cette clé Le mot est de résoudre le conflit du même nom entre la variable d'instance (nom de chaîne privé) et la variable locale (nom de variable dans setName (nom de chaîne)).

Instance

Regardons un exemple de classe d'encapsulation Java :

Code du fichier EncapTest.java :

/* 文件名: 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;
   }
}

Ci-dessus La méthode publique dans l'instance est l'entrée permettant aux classes externes d'accéder aux variables membres de la classe.

Normalement, ces méthodes sont appelées méthodes getter et setter.

Par conséquent, toute classe souhaitant accéder aux variables membres privées de la classe doit passer par ces méthodes getter et setter.

L'exemple suivant illustre comment accéder aux variables de la classe EncapTest :

RunEncap.java 文件代码:
/* F文件名 : 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());
    }
}

La compilation de code ci-dessus et les résultats d'exécution sont les suivants :

Name : James Age : 20

Beaucoupjava vidéos de formation , toutes sur le site PHP chinois, bienvenue pour apprendre en ligne !

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:Que signifie Java ?Article suivant:Que signifie Java ?