ホームページ >Java >&#&チュートリアル >オブジェクト指向プログラミングにおけるカプセル化を理解する
カプセル化は、データ (フィールド) とそのデータを操作するメソッド (関数) を 1 つのユニット (通常はクラス) 内でバンドルすることを含むオブジェクト指向プログラミングの基本概念です。これにより、オブジェクトのコンポーネントの一部への直接アクセスが制限され、コードの保守とセキュリティが容易になります。
// 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()); } }
名前、職業、身長、ID、年齢は非公開として宣言されています。これにより、クラスの外部から直接アクセスできなくなります。
getName()、setName()、getProfession() などのパブリック メソッドは、プライベート フィールドに対する制御されたアクセス ポイントとして機能します。これらのメソッドを使用すると、外部コードがプライベート データを安全に取得および変更できるようになります。
コンストラクターは、クラス Person のオブジェクトが作成されるときにフィールドを初期化します。これにより、オブジェクトが有効な状態で開始されることが保証されます。
main メソッドは、カプセル化がどのように使用されるかを示しています。プライベート フィールドには、ゲッター メソッドを通じて間接的にアクセスします。
データ保護:
アクセス制御:
public void setAge(int age) { if (age > 0) { this.age = age; } else { System.out.println("Age must be positive."); } }
コードの柔軟性:
この例は、カプセル化によって、対話のための制御されたインターフェイスを提供しながら、 Person クラスが整合性を維持し、その実装の詳細を非表示にする方法を示しています。
以上がオブジェクト指向プログラミングにおけるカプセル化を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。