Kapselung ist ein grundlegendes objektorientiertes Programmierkonzept, bei dem Daten (Felder) und Methoden (Funktionen) gebündelt werden, die mit den Daten innerhalb einer einzelnen Einheit, typischerweise einer Klasse, arbeiten. Es schränkt den direkten Zugriff auf einige Komponenten des Objekts ein und erleichtert so die Wartung und Sicherung des Codes.
// 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()); } }
Die Felder Name, Beruf, Größe, Ausweis und Alter werden als privat deklariert. Dadurch sind sie direkt von außerhalb der Klasse nicht zugänglich.
Öffentliche Methoden wie getName(), setName(), getProfession() und andere fungieren als kontrollierte Zugriffspunkte für die privaten Felder. Mit diesen Methoden kann externer Code die privaten Daten sicher abrufen und ändern.
Der Konstruktor initialisiert die Felder, wenn ein Objekt der Klasse Person erstellt wird. Dadurch wird sichergestellt, dass das Objekt in einem gültigen Zustand startet.
Die Hauptmethode zeigt, wie die Kapselung verwendet wird. Auf die privaten Felder wird indirekt über die Getter-Methoden zugegriffen.
Datenschutz:
Kontrollierter Zugriff:
public void setAge(int age) { if (age > 0) { this.age = age; } else { System.out.println("Age must be positive."); } }
Code-Flexibilität:
Dieses Beispiel veranschaulicht, wie die Kapselung sicherstellt, dass die Person-Klasse ihre Integrität beibehält und ihre Implementierungsdetails verbirgt, während gleichzeitig eine kontrollierte Schnittstelle für die Interaktion bereitgestellt wird.
Das obige ist der detaillierte Inhalt vonKapselung in der objektorientierten Programmierung verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!