Maison >Java >javaDidacticiel >Comprendre l'encapsulation dans la programmation orientée objet
L'encapsulation est un concept fondamental de programmation orientée objet qui implique le regroupement de données (champs) et de méthodes (fonctions) qui opèrent sur les données au sein d'une seule unité, généralement une classe. Il restreint l'accès direct à certains composants de l'objet, facilitant ainsi la maintenance et la sécurisation du code.
// Encapsulation refers to restricting access of a class from the outside world public class Person { private String name; private String profession; private double height; private int ID; private int age; // Constructor public Person(String name, String profession, double height, int iD, int age) { this.name = name; this.profession = profession; this.height = height; ID = iD; this.age = age; } // Getters and setters for accessing private fields public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProfession() { return profession; } public void setProfession(String profession) { this.profession = profession; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public int getID() { return ID; } public void setID(int iD) { ID = iD; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // Main method to demonstrate encapsulation public static void main(String[] args) { Person myPerson = new Person("Robert", "doctor", 130.4, 39, 23); // Accessing private fields through getter methods System.out.println(myPerson.getName()); System.out.println(myPerson.getProfession()); System.out.println(myPerson.getID()); System.out.println(myPerson.getAge()); } }
Les champs nom, profession, taille, pièce d'identité et âge sont déclarés comme privés. Cela les rend inaccessibles directement depuis l'extérieur de la classe.
Les méthodes publiques comme getName(), setName(), getProfession() et d'autres agissent comme des points d'accès contrôlés pour les champs privés. Ces méthodes permettent à du code externe de récupérer et de modifier les données privées en toute sécurité.
Le constructeur initialise les champs lorsqu'un objet de la classe Person est créé. Cela garantit que l'objet démarre dans un état valide.
La méthode principale montre comment l'encapsulation est utilisée. Les champs privés sont accessibles indirectement via les méthodes getter.
Protection des données :
Accès contrôlé :
public void setAge(int age) { if (age > 0) { this.age = age; } else { System.out.println("Age must be positive."); } }
Flexibilité du code :
Cet exemple illustre comment l'encapsulation garantit que la classe Person maintient son intégrité et masque les détails de son implémentation tout en fournissant une interface contrôlée pour l'interaction.
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!