ホームページ >Java >&#&チュートリアル >オブジェクト指向の内容を詳しく解説

オブジェクト指向の内容を詳しく解説

巴扎黑
巴扎黑オリジナル
2017-06-26 09:27:531243ブラウズ

オブジェクト指向でもプロセス指向でも、どちらも問題を解決する方法ですが、角度が異なります。

プロセス指向:

は、問題を解決するすべてのステップを個人的に行う必要があることを強調します。詳細は手動で実装する必要があります。


オブジェクト指向: 特定の問題を解決するには、特定の機能オブジェクトを使用します。すべての詳細に注意を払う必要はありません。対応するオブジェクトを作成するだけで済みます。

オブジェクト指向はプロセス指向をベースにしています


クラスとオブジェクトとその関係

クラス:同じ性質や動作(機能)を持つものの総称であり、抽象的な概念です オブジェクト:この中の特定の個体ものの種類

クラスとオブジェクトの関係
1 つのクラスは複数のオブジェクトを作成できます。クラスはオブジェクトの抽象化であり、オブジェクトはクラスのインスタンスです。 --->クラス
の特徴--->メンバ属性(メンバ変数)

動作(関数)--->メンバメソッド



クラスの作成形式:

修飾子クラス名データ型メンバ変数名 1;
データ型メンバ変数名 2; データ型メンバ変数名 3; ...

メンバメソッド 1;
メンバメソッド 2;
メンバメソッド 3;
...
}

修飾子:public
クラス名:識別子は意味を知っています
メンバ変数リスト:物事の特徴、現在のシーンが気になる特徴だけを書きます 書き方は、物事の特徴を全て書く必要はありません。変数の定義に似ています
メンバーメソッド: 物事の動作 (機能) 現在のシーンが関心のある動作 (特徴) のみを記述します。 書き方は前のメソッドと似ています。この時点で記述する場合は、static を削除する必要があります

クラスを初めて使用するときは、メソッド領域にロードする必要がありますが、再度このクラスを使用するたびにロードする必要はありません。もう一度


メンバー変数とローカル 変数の違い

1. 定義場所の違い
ローカル変数: メソッド内で定義
メンバー変数: クラス内、メソッド外で定義
2. メモリ内の格納場所の違い ローカル変数: ローカル変数はスタック領域に格納されます メンバー変数:メンバー変数はヒープ領域に格納されます
3. 異なるライフサイクル
ローカル変数:メソッドの呼び出しで生成され、メソッドの終了とともに消滅します 比較的短い
メンバー変数: オブジェクトの作成とともに生成され、オブジェクトデータがリサイクルされると消える 比較的長い
4. 異なる初期値
ローカル変数: 初期値なし、使用前に割り当てる必要がある
メンバー変数: 初期値あり、参照型 null 、整数 0、10 進数 0.0 文字: スペース、ブール値 false


カプセル化

カプセル化はオブジェクト指向の 3 つの主要な特性の 1 つであり、他の 2 つは継承ポリモーフィズムです

クラス名: 人
属性: 名前、年齢メソッド: 表示

カプセル化の利点
: プログラムのセキュリティを向上させる


属性をカプセル化する手順:
1. private キーワードを使用して対応する属性を変更し、外部のユーザーが外部のアクセス許可を介して属性に直接アクセスできないようにします。オブジェクト名.属性 2. 対応する属性メソッドの set と get を記述し、外部世界にプロパティにアクセスするためのチャネルを与えます

カプセル化は、オブジェクト指向プログラミング言語によるオブジェクト世界のシミュレーションです。変数はオブジェクト内に隠されており、外部から直接操作したり変更したりすることはできません。 カプセル化の原則:

外部に提供する必要のないコンテンツを非表示にします。
プロパティを非表示にし、それらにアクセスするためのパブリック メソッドを提供します。
メンバー変数はプライベートであり、対応する getXxx()/setXxx() メソッドを提供します
利点
:
メソッドを通じてメンバー変数の操作を制御し、コードのセキュリティを向上させます
コードをメソッドでカプセル化し、セキュリティを向上させますコードの再利用性

変数アクセスの近接原理:
同じ名前の変数が複数ある場合、ターゲット コードはコードのこの行に最も近い変数を使用します

これにより問題を解決できます:
ローカル変数とメンバー変数の場合名前は同じですが、特定のコードポイントでメンバー変数にアクセスしたい場合は、ターゲット行の変数名の前にこれを追加できます
これは現在このメソッドを呼び出しているオブジェクトのみです
this Whoeverこれは、

構築メソッド
がメソッドであることを参照します。 機能: オブジェクトのデータにデフォルト値を割り当てます。

定義形式:
修飾子 メソッド名 (パラメータリスト) {

いくつかの初期化ステートメント

}
修飾子: public
メソッド名: direct クラス名を記述します
パラメータリスト: メソッドを定義する前に仮パラメータを記述するのと同じです
コンストラクタには戻り値の型がないことに注意してください

パラメータなしのコンストラクタを手動で記述しない場合私たち自身がパラメータなしのコンストラクターを手動で作成した場合、システムはデフォルトでそれを提供します
それを使用するとき、システムはパラメータの構築メソッドを提供しません

。構築メソッドもメソッドであり、オーバーロードできます

構築メソッドを手動で作成する限り、システムはパラメータなしのコンストラクターを提供しません
オブジェクトを作成するためにパラメータなしのコンストラクターを使用する必要がある場合。パラメーターなしのコンストラクターを自分で記述する必要があります

以上がオブジェクト指向の内容を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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