ホームページ >Java >&#&チュートリアル >Java カプセル化の概念とは何ですか
は、クラスの特定の情報をクラス内に隠し、外部プログラムによる直接アクセスを許可せず、代わりにクラスが提供するメソッドを使用して、隠された情報にアクセスし、操作およびアクセスするための情報。
なぜカプセル化が必要なのでしょうか?
クラスのオブジェクトを作成した後、「object.properties」を通じてオブジェクトのプロパティに値を割り当てることができます。ここでの代入操作は、属性のデータ型と格納範囲によって制限されます。これ以外に制約はありませんが、実際の問題では、属性の割り当てに追加の制約を追加する必要があることがよくあります。この条件は属性宣言には反映できず、メソッドを通じてのみ制限条件を追加できます。同時に、ユーザーが「object.property」メソッドを使用してプロパティに値を代入できないようにする必要があるため、プロパティをプライベートとして宣言する必要があります。
カプセル化の利点:
1. 良好なカプセル化により結合が軽減されます。
2. クラス内の構造は自由に変更できます。
3. メンバー変数をより正確に制御できます。
4. 情報を非表示にし、詳細を実装します。
カプセル化の実装手順
(1) 属性を private に変更します
(2) getter/setter メソッドを作成し、これら 2 つのメソッドを使用してデータを取得および設定します。これら 2 つのメソッドを呼び出すことで、オブジェクトがデータの読み取りと書き込みができることが判断されます。
class person{ private int age;//修改属性为private public int getAge(){ return age; } public void setAge(int a){ age = a; } }
カプセル化は、オブジェクトの内部の複雑さを隠し、外部呼び出しを容易にするために単純なインターフェイスのみを公開します。カプセル化の実施形態では、一致する許可修飾子が必要です。
Java のパッケージは、プロジェクト内のクラスをより適切に管理し、同じ名前のファイルとの競合を解決するためのものです。Java のパッケージに関して言えば、それらについて言及する必要があります。 package キーワードに関しては、通常、 package を使用して、クラスまたはインターフェイスが属するパッケージを宣言します。宣言は、パッケージ java.lang など、ソース ファイルの最初の行にあります。各 . はファイルの層を表しますディレクトリ。同じパッケージ内で同じ名前のインターフェイスに名前を付けることはできません。クラス、異なるパッケージを使用できます。パッケージを使用するには、import キーワードを使用する必要があります。ソース ファイルに示されているインポート構造を使用して、指定されたパッケージの下のクラスとインターフェイス。通常、インポート ステートメントはパッケージ宣言とクラス宣言の間にあります。Java では、パッケージ名の指定はすべて小文字で綴られます。
どのクラスにもコンストラクターがあり、オブジェクトの作成と初期化に使用されます。クラスのオブジェクトを作成するための属性、メソッド: new コンストラクター (例: person p = new Person();
If)このクラスには明示的なコンストラクターが定義されていないため、システムはデフォルトで空のパラメーターを持つコンストラクターを使用します。
コンストラクターの形式を定義します
Permission 修飾子クラス名 (仮パラメーター リスト) {}
概要: 属性割り当ての順序:
1 デフォルトの初期化
2 明示的な初期化
3 コンストラクターでの初期化
4 "Object.Method" または "Object.Property" のメソッドを通じて、割り当て
このキーワードは、プロパティ、メソッド コンストラクターを変更するために使用できます。現在のオブジェクト、または現在作成中のオブジェクト
クラスのメソッドでは、「this.property」または「this.method」を使用して、現在のオブジェクトのプロパティまたはメソッドを呼び出すことができます。 。しかし、通常、私たちは「これ」を省略することを選択します。特殊なケースでは、メソッドの仮パラメータがクラスの属性と同じ名前を持つ場合、「this.variable」を明示的に使用して、変数が属性であることを示す必要があります。
同様のことがクラスのコンストラクターにも当てはまります。空のパラメーターを指定してコンストラクターを呼び出します: this(); public Person (int age) などのパラメーターを指定してコンストラクターを呼び出す場合は、this(age) を使用できます。 ) 呼び出しを行いますが、コンストラクターは、コンストラクター自体を呼び出すことはできず、他のコンストラクターのみを呼び出すことができます。コンストラクターが n 個ある場合、このメソッドを使用して呼び出せるのは n-1 個のコンストラクターのみであり、この呼び出しを行うコンストラクターは、コンストラクターの先頭です。これは、オブジェクト間のサイズを比較するためにも使用できます。
rree以上がJava カプセル化の概念とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。