オブジェクト指向
小のそれぞれによって解決抽象モデルによれば、ほんの少しの問題に分離分割を学ぶ、リテラルコードから複雑な問題を理解していないことを理解すべきオブジェクト指向のコードを理解するのに人工抽象プログラミングモデル、問題、そして最終的には大きな問題を解決しました
カテゴリ
クラスオブジェクトを作成すること押すのと同じである場合クラスは、別々の成分として包装、関連するデータおよびメソッドコードのこのタイプをパッケージするために使用される抽象もの、算術、論理、および他の概念、あるテンプレートクラスとして理解することができ、又は図面作成するには、このテンプレート
オブジェクト
コードの特定のインスタンスは、方法を実行するようにクラスの具体例としては、それぞれの属性データを格納する、占有メモリ空間の各別個例えば、作成する、例は、個別に制御することができます。
引用文
オブジェクト参照変数メモリアドレスのインスタンスを保存し、変数に割り当てられたアドレス値は、インスタンスを呼び出すために使用される変数は、ちょうどライン上で動作するように参照を使用し、リモートコントロールとして理解することができます。
ここでの例では、理解します:
プロジェクト:day0101_兵士
クラス:day0101.Test1クラスとクラスはんだ
はんだクラスコード:
1 パッケージday0101; 2 3 4。 5。 インポートjava.util.Randomの; 6 。7 。8 。9 / * 10 11 *パッケージ 12は、 13である *データ、論理演算法、 14 15 *は、 "クラス"コンポーネントとしてパッケージ 16 17。 * / 18 19 パブリック クラスはんだ{ 20は、 21である // メンバ変数 22は 23である INT ID; // 0のデフォルト値 24 25 のint = 100血液; 26れる 27 28 //方法メンバー 29 30 公共 ボイドゴー(){ 31は、 32 のSystem.out.println(この .ID + "行進兵士の数" ); 33である 34れる } 35 36 公共 ボイド(アタック){ 37 [ 38である IF(血液== 0 ){ 39 40 のSystem.out.println( 41は 42である + ID + "これは" "兵士の体の数); 43である 44れる 返す ; // 方法この目的に 45 46である } 47 48 のSystem.out.println(ID +"兵士号を攻撃」); 49 50 // アナログ損傷、血液量減少 51は、 52である //は保存ランダム血液生成 53である 54ことである INT D = 新しい新しいランダム()nextInt(10 ); 55 56は、 血液- = D; // 血液量減少性 57である 58 IF(血液<0){ // 血液が負になった場合に、0にリセット 59 60 血= 0 ; 61は 62である } 63が 64 :のSystem.out.println(+ "血液" ;血液) 65 66 IF( == 0血液){ 67 68 のSystem.out.println(上記ID + "いいえ兵士が殺されませんでした"。); 69 70 } 71 72 } 73 74 }
Test1クラスコード:
パッケージday0101、 パブリック クラスTest1を{ 公共 静的 ボイドメイン(文字列[]引数){ // 作成する新しいインスタンス兵士 // 変数S1に格納され、そのメモリアドレス値 / * S1 = { * ID:0、 *ブラッド。 100 *} * / はんだS1 = 新しい新しいはんだ(); / * S2 = { * ID:0、 *ブラッド:100 *} * / はんだS2 = 新しい新しいはんだ(); // 検索S1可変メモリ空間を持つ兵士、アクセスそのID変数 s1.id = 9527 ; s2.id= 9528 ; //は、メモリと、変数S1兵士を見つけることが行く実行する()メソッドコード s1.go(); s2.go(); s2.attack(); s1.attack(); } }
コンストラクタ
新しいインスタンスを作成する場合、新しいはんだを行うための特別な方法()
彼らはコンストラクタメソッドを定義しない場合、コンパイラはデフォルトの空のコンストラクタを追加します、Javaクラスのコンストラクタが存在する必要があります
クラスはんだ{ パブリックはんだ(){ } }
上記のコードは、あなたが何もしないように、コンパイラが自動的に空のコンストラクタを生成していることです追加していないとき、空のコンストラクタは、自分自身を追加することです
コンストラクタの役割
インスタンスを作成した後、特定の方法が行わ即時コンストラクタコードは、任意の関数のいずれか完了に書き込まれ、または任意の操作を行うことができ、コンストラクタ一般的な役割は、メンバ変数である。メンバ変数はクラス変数を定義しています。
この使用方法
this.id
コンストラクタによって割り当てが与えられたとき、IDがメンバ変数、メンバ変数です。
パブリック クラスA { int型のID。 公共 A(int型のID){ この .ID = ID。 } }
this.idメンバ変数IDを表します。
この(A、B)
、bは括弧内のパラメータであり、これは(a、b)は、コンストラクタのような2つのコール・パラメータを表します
パブリック クラスA { int型のID。 int型; 公共 A(int型のID){ この(ID、5 ) } 公共 A(int型の ID、INT A){ この .ID = ID。 この .A = ; } }
この()のコードの最初の行にあるように。