l'éditeur php Baicao vous propose un article de base explorant la programmation orientée objet sur les principes approfondis de l'encapsulation et de l'héritage Java. Dans cet article, nous présenterons le rôle et les principes de l'encapsulation et de l'héritage en Java, et explorerons comment ils peuvent améliorer la maintenabilité et la réutilisabilité du code. Que vous soyez débutant ou développeur expérimenté, cet article vous fournira des explications claires et des exemples d'applications pratiques pour vous aider à mieux comprendre et appliquer l'encapsulation et l'héritage en Java. Plongeons au cœur de la programmation orientée objet Java !
L'encapsulation est une méthode permettant de masquer les détails d'implémentation internes d'une classe. Il protège l'intégrité des données en encapsulant les données et les opérations dans une unité (classe). En Java, l'encapsulation est réalisée via des modificateurs d'accès tels que privé, protégé et public.
Les avantages de l'encapsulation incluent :
Héritage
L'héritage est la capacité qui permet à une classe (sous-classe) d'hériter des propriétés et des méthodes d'une autre classe (classe parent). Cela permet la réutilisation du code et aide à créer une structure de classe hiérarchique. En Java, l'héritage utilise le mot-clé extends.
Les sous-classes héritent des aspects suivants des classes parent :
Les avantages de l'héritage comprennent :
Interaction d'encapsulation et d'héritage
L'encapsulation et l'héritage interagissent en POO. L'encapsulation protège l'implémentation interne d'une classe, tandis que l'héritage permet à une classe enfant d'accéder aux membres protégés et publics de la classe parent. Cela permet aux sous-classes de réutiliser et d'étendre les fonctionnalités de la classe parent tout en conservant le masquage des données et l'organisation du code.
En Java, les modificateurs d'accès sont combinés avec des règles d'héritage pour contrôler l'accès des classes enfants aux membres de la classe parent :
Exemple
Considérez l'extrait de code Java suivant, illustrant les principes d'encapsulation et d'héritage :
// Person 类(父类) class Person { private String name; protected int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } protected void printAge() { System.out.println("Age: " + age); } } // Student 类(子类)继承 Person 类 class Student extends Person { private int studentNumber; public Student(String name, int age, int studentNumber) { super(name, age);// 调用父类构造函数 this.studentNumber = studentNumber; } public int getStudentNumber() { return studentNumber; } @Override protected void printAge() { System.out.println("Student"s age: " + age); } } public class Main { public static void main(String[] args) { Student student = new Student("John Doe", 20, 12345); System.out.println("Student name: " + student.getName());// public 方法,可从子类访问 student.printAge();// protected 方法,可从子类访问 // System.out.println(student.age);// 无法访问 private 字段 } }
Dans cet exemple, la classe Person encapsule les données de nom et d'âge et contrôle l'accès à celles-ci via des modificateurs d'accès. La classe Student hérite de la classe Person et a accès à son champ d'âge protégé et à sa méthode printAge(). En même temps, la classe Student définit un champ privé studentNumber, qui n'est visible qu'en lui-même.
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!