リットルの 思考のオブジェクト指向の方法は、人々の考え方に沿って、より多くの思考の習慣です
リットルの 思考のプロセス指向の方法は、より多くの幹部(自分のこと)に反映され、オブジェクト指向は、(コマンドオブジェクトは、物事を行うことです)司令官のより現れです。
1.クラスとオブジェクト
1)クラスの本当の意味を知るために、コードを記述することで、物事を説明することです。プロパティと機能を総称して、物事のメンバーと呼ばれています。
メンバーのプロパティとメンバ関数:メンバーは2つに分かれて。
メンバプロパティコードで具現は、メンバ変数であります
メンバ関数コードで具現部材法であります
オブジェクトフォーマットを作成するには、レビューの下で:
2)クラス名 オブジェクト名 =新しいクラス名();
クラスとオブジェクトの違いは:クラスは、物事の特定のクラスの抽象的な記述であるが、実際には個々のオブジェクトは、物事のクラスを表すために使用されます
3)メンバ変数とローカル変数
違いは次のとおりです。
異なる位置を定義します。違いを
クラスのメンバ変数に定義された変数
で定義された方法または {} 変数内の文は、ローカルであります
メモリ内の異なる位置の2つの間の差
メンバー変数はに保存されているヒープメモリオブジェクト
ローカル変数の方法でスタックメモリに記憶されています
三つの違い:ライフ異なるのサイクル
ヒープのうちメンバ変数オブジェクトの出現により、今、オブジェクトの消失とヒープから姿を消した( GCのガベージコレクション)
メソッドのローカル変数は、現在消え飛び出る方法で、スタックが不足すると
異なる初期設定:4を区別する
ヒープメモリ内のメンバ変数ので、すべてのデフォルトの初期値
ローカル変数は、使用する前に、手動でこれに値を割り当てる必要があり、デフォルトの初期値ではありません。
2.パッケージ
クラスへのパッケージの方法や特定の機能へのパッケージングの方法は、実際には、これらのパッケージです。
パッケージには、それはまた、オブジェクト指向の機能の1つです。カプセル化、継承、ポリモーフィズム:オブジェクト指向の三つの特徴があります。
包装性能:
この方法は、基本的なパッケージです。
クラスは、実際のパッケージです。
パッケージの利点は、上記の二つの点から結論します:
コードの再利用性の向上。
実装の詳細を隠すだけでなく、外部からのアクセス方法を提供します。発信者を使用して簡単にできます。これは、パッケージの概念があるとしても理解することができるコアの一つです。
セキュリティを向上させます。
1)プライベートプライベート
説明が明らかにされているが、それはランダムな人々を使用してアクセスすることができ、実際の需要に沿ったものではないとするが、時には私たちは、クラスを記述し、
したがって、Javaは修飾子、提供プライベートそれは、任意のクラスのプライベート見学することができないように、(プライベート、権限修飾子を)。
また、外部にアクセスする方法、提供するあなたが他のプログラムがこれらのメソッドにアクセスできるように、外部からのアクセスを提供することができます限りの方法を。同時に、データはプロセスで確認することができます。
一般的なメンバプロパティのアクションへのアクセス:代入(設定SET)を、値(取得GET) 、したがって、プライベート変数にアクセスする方法は、対応する提供できるのsetXXX かのgetXXX メソッドを。
コンテンツクラスは、両方がプロパティとメソッドを含め、民営化された提供するために必要とされていません。
その後、物事を説明し、プロパティが民営化され、および提供するのsetXXXのgetXXX それにアクセスするための方法を。
例えば:
クラス 人{
// プライベートメンバ変数
プライベート int型の 年齢;
プライベート 文字列名;
// メンバ変数法の外部セットを提供
公共 ボイド setAge(INT A){
// それはあなたが検証データを追加できるメンバ変数の設定であるため、
もし (<0 || A> 130){
。システムOUT .printlnは、(A +は、「年齢の範囲のデータを満たしていません」);
返します。
}
年齢=;
}
// メソッドのメンバ変数への外部アクセスを提供
公共 のボイド getAge(){
戻り値の 年齢。
}
}
2)このキーワード
ローカル変数と同じ名前のメンバ変数の過程にあった場合には、ときにどのようにメンバ変数をメソッド内のローカル変数を区別するのですか?
私たちは、目の前にメンバー変数名を追加することができ、この。識別メンバ変数とローカル変数を。この変更は、メンバ変数であります
例:2つのピアかどうかを判断します
クラス 人{
プライベート int型の 年齢;
プライベート 文字列名;
公共 INT getAge(){
戻り値の 年齢。
}
公共 ボイド setAge(int型の 年齢){
この .age =年齢;
}
パブリック 文字列のgetName(){
返す 名前を。
}
公共 ボイド のsetName(文字列名){
この .nameの=名前;
}
公共 ボイド 話します(){
システム。アウト .println( "名前=" + この .nameの+ "年齢=" + この .age)。
}
// ピアかどうかを判断します
パブリック ブール equalsAge(人物P){
// 現在のコール使用equalsAgeのメソッドオブジェクトの年齢をと渡されたP の年齢を比較します
// これは、特定のオブジェクトの呼び出しを決定することができませんequalsAgeのあなたが使用できる方法、これを代わりに
/ *
*(this.age ==のp.ageが){trueを返す場合。} falseを返します。
* /
戻る この .age == p.ageを。
}
}