ホームページ  >  記事  >  Java  >  Java の基本 - カプセル化

Java の基本 - カプセル化

巴扎黑
巴扎黑オリジナル
2017-06-26 11:26:421379ブラウズ

私は最近 Java のオブジェクト指向の側面について学んでいますが、この分野の知識は非常にわかりにくいため、ブログを更新する時間がありませんでした。知識ポイントが次々に出てきて、初心者の私はコンストラクターとメソッドの区別に丸一日かかりました。ここで、もう一度知識ポイントを確認していきます。

まず概念を覚えましょう:

オブジェクト指向プログラミングでは、データを最初に置き、次にデータの操作方法を検討します。

以前、Java の利点について学習していたときに、Java がオブジェクト指向プログラミング言語であることを学びました。では、オブジェクト指向プログラミングとは一体何なのでしょうか?それを理解するために、まず別の種類のプログラミングについて簡単に見てみましょう。

1. プロセス指向プログラミング: プロセス指向プログラミングは上から下まで順番に実行され、徐々に洗練されます。そのプログラム構造は機能に従っていくつかの基本ブロックに分割され、これらのブロックはツリー構造を形成します。各モジュール間の関係は可能な限り単純であり、機能的には比較的独立しています。各モジュールは内部的に 3 つの基本構造 (シーケンス、選択、サイクル) で構成されています。モジュール化を実現するための具体的な方法はサブルーチンを使用することです。プログラムの流れはプログラムを書くときに決まります。

(オブジェクト指向プログラミングを学んでいたときに、この概念をインターネットで見つけました。それとオブジェクト指向プログラミングの概念を白紙にコピーしました。実際、プロセス指向プログラミングが何なのかは知りませんでした)でしたが、オブジェクト指向とクラスについて学んだ後、この概念に戻って調べてみると、プロセス指向について学ばなかったらあえて多くを言う必要はありませんでした。オブジェクト指向について学んだばかりであれば、あまりコメントすることはありません。つまり、プロセス指向は、何かのすべてのワークフローを連動させるようなもので、オブジェクト指向に関しては、非常にスマートです。大きな機械や部品などを作るメーカーのようなものです。自分で作る必要はありませんが、頑張って組み立てることができます(もちろん、組み立てるときは他の人が決めたルールに従う必要があります)。この利点は、変更する場合、特にクライアント側でプロジェクト全体が影響を受けることを心配する必要がないことです。)

2. オブジェクト指向プログラミング:

オブジェクト指向プログラミングは OOP と呼ばれ、1970 年代の「構造化された」プロセスに取って代わられるようになりました。オブジェクト指向とは、データとデータを操作するメソッドを相互に依存する全体としてまとめることであり、それをオブジェクトと呼びます。クラスは、類似したオブジェクトの共通の特徴を抽象化することによって形成されます。クラス内のほとんどのデータは、このクラスのメソッドによってのみ処理できます。このクラスは単純な外部インターフェイスを通じて外の世界に関係し、オブジェクトはメッセージを通じて通信します。プログラムの流れはユーザーが決定します。 Java は完全にオブジェクト指向であるため、Java プログラムを作成するには OOP に精通している必要があります。

(図) オブジェクト指向プログラミングとプロセス指向プログラミングの違いを示します

次の文は非常に重要です:

オブジェクト指向プログラムはオブジェクトで構成されており、各オブジェクトにはオブジェクトに関する情報が含まれています。 user 公開固有の機能部分

非表示の実装部分 。 (この文は本当に重要です。将来シングルトン、カプセル化、抽象クラス、インターフェースを学ぶときに理解できるでしょう!) 3. クラス

クラス(class)は、オブジェクトまたはブループリントを構築するためのテンプレートです。クラスからオブジェクトを構築するプロセスは、クラスのインスタンスを作成することになります。

ここで勉強していると、覚えなければならないカテゴリが多すぎて、少しパニックになってしまいます。自分でクラスを作成してみませんか?作成するクラスの内容は充実していますか?さまざまな疑問が心の中に残ります。実際、Java で書かれたコードのほとんどはクラス内にあります。標準 Java ライブラリには、ユーザー インターフェイス設計、日付、カレンダー、ネットワーク プログラミング用の何千ものクラスが用意されています。それでも、自分でプロジェクトに取り組んでいると、さまざまな具体的な状況に応じて追加、削除、変更する必要もあります。

4. カプセル化

カプセル化 (データ隠蔽とも呼ばれます)、ビデオクラスを見ると、カプセル化は get メソッドと set メソッドとして説明されています。形式的には、カプセル化は、データと動作をパッケージ内で結合し、オブジェクトのユーザーからデータの実装を隠すことに他なりません。

オブジェクト内のデータをインスタンスフィールドと呼び、データを操作する処理をメソッドと呼びます。特定のクラス インスタンス (オブジェクト) ごとに、インスタンス フィールド値の特定のセットがあります。これらの値の集合がオブジェクトの現在の状態です。

次の文は非常に重要ですので、覚えておいてください:

カプセル化を実現するための鍵は、クラス内のメソッドが他のクラスのインスタンス フィールドに直接アクセスしてはいけないということです。プログラムは、そのメソッドを通じてのみオブジェクトのデータと対話します。

カプセル化により、オブジェクトに「ブラック ボックス」特性が与えられます。これは、再利用性と信頼性を向上させる鍵となります。これは、データの操作に同じメソッドが使用されている限り、クラスがデータを格納する方法を完全に変更できることを意味します。変更については知りません。

// この文はどういう意味ですか? いつか Java クラスを定義する必要がある場合、他のクラスが干渉することを心配する必要はないという意味です。クラスを拡張して、必要な新しいクラスを作成します。実際、Java のすべてのクラスはオブジェクトから生成されることを忘れないでください。プロセスは

1 です。

2. get/set メソッドを提供する必要があります (get/set は常に提案されるとは限りません。それは自分のニーズによって異なります。他の人に取得したくない場合は、get を提供しないでください。他の人に取得したくない場合は、get/set メソッドを提供しないでください)設定するには、セットの提供を拒否します。)

====アクセス シンボルの権限:

アクセス シンボル パブリック(一般的に使用)保護されていますデフォルトプライベート (よく使われる) コード例:リー
このカテゴリ内 パッケージ内 このパッケージ サブカテゴリ内 アウトソーシングカテゴリ アウトソーシングサブカテゴリ
アクセス可能 訪問可能 はいアクセス済み アクセスできます アクセス可能
アクセス可能 アクセス可能 アクセス可能 アクセス不可 はいアクセス
アクセスできる アクセスできる アクセスできる アクセスできない アクセスできない
アクセスされました アクセスできません アクセスできません アクセスできません アクセスできません

以上がJava の基本 - カプセル化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。