はじめにオブジェクト指向プログラミング(オブジェクト指向)
からの移行手続き型プログラミング言語(非オブジェクト指向)を、オブジェクト指向のプログラミング言語では、多くのプログラマのための大きな一歩だ。 それは事実だが、両方の方法を最終的に達成するためのプログラミングのこと、同じ目標が、あなたはneaterを見つけるとは、オブジェクト指向プログラムの道をより速く、より適していることはチームワーク、デザインやプログラムを簡単には、通常のオブジェクト指向アプローチを使用しています。 Javaでオブジェクト指向して、あなたはやりがいを見つけることから始まるのプログラミングは、まだ非常に容易で、非常にやりがいのあることしたらマスターです。 オブジェクトは何ですか?このオブジェクトは、プログラムの構築ブロックを構成しています。 正確に説明することは困難であるため、どのようなオブジェクトは、オブジェクトの値は何でもしたいです。 たとえば、オブジェクトを作成することができます表してエイリアンに関連するすべての情報を保持することができるのエイリアンと関連付けられている機能も含まれています。 などのデータを含めることができますが、多くの外国人が住んでも、データの機能に影響を及ぼすことは、エイリアンのようなコードを殺すのは、 1つの命を削除することができる。 その本質的な要素を構成して、オブジェクトは、変数やメソッドです。 メンバ変数は、データ、または属性は、そのオブジェクトに関連するデータが含まれるなど、テキスト文字列または数値を入力します。 このオブジェクトのメソッドと同じ機能を提供することができます属性を使用して情報をやりとりする。 関数やメソッドは手続きとしても知られ、さまざまな他のプログラミング言語です。 オブジェクト指向のプログラミングをJavaで Javaでは、クラスの構造を定義するのに使われるオブジェクトです。 クラス分けられることができる3つの主要部品:コンストラクタは、属性(プロパティ) 、およびメソッドです。 今すぐ見てみましょう非常に単純なクラスの例は、これらの3つの部分を含む構造先に進む。 一例は、クラスの可能性がある人は、属性とメソッドを記述することができることに関連付けられている可能性がある人物だ。 次に作成されることから、オブジェクトクラスの人は、あなたや私のように、あるいはあなたのパートナー(パートナーをお持ちでない場合は、次によくやった;あなたは、真のプログラマー) 。 オブジェクトを作成するためには、我々のクラスを作成する必要があります初めてです。 コンパイルすることは心配しないで任意のコードを今すぐ;後ろに座るだけでは、コーヒーをつかみ、そしていくつかの基本を理解してみてください。 ここでは、私たちの先頭に"人"のクラス: クラスの人( ) さて、現時点では、我々はその人のクラスのコードを概説する。 最初にしなければならないいくつかの属性を追加します。 みましょう数値属性を追加するにはクラスで人の年齢を格納します。 クラスの人( int年齢; ) キーワードINTは、整数、数値データ型を表す。 この時点で、その人の属性やクラスはすべての機能がない(明確に政界を差している) 。 我々のクラスのメソッドを追加するには、以下の通り、使用されることができるの値を変更し、年齢: クラスの人(公共ボイドsetage ( int newage ) ( / /年齢を設定する値に格納さ年齢= newage newage ; ) int年齢; ) 今我々は、クラスと呼ばれる人は、 1つのメソッドが含まれsetageと呼ばれる1つの属性と呼ばれる年齢です。 このメソッドを使用することができますsetageに新しい値を代入して、その人の年齢です。 繰り返しますが、あまり心配しないで仕事をする方法については、当分のメソッド;お客様のコーヒーを飲むだけで開かれることについては十分にクールになりました。 オブジェクトを作成するためには(あるいはインスタンスとしても知られることは)からの人のクラスは、コンストラクタによって呼び出されなければなりません。 デフォルトで含まれるすべてのクラスのコンストラクタは、オーバーロードすることができますこれでは何もしないとして多くの種類のコンストラクタは、われを参照してください。 コンストラクタこのコンストラクタは、メソッドと呼ばれるオブジェクトが作成され、使用されるときに、オブジェクトの状態を初期化します。 このコンストラクタを宣言しなければならないと同じ名前のクラスが含まれることは、戻り値を持つことはできません。 我々は今、人を追加して2つのクラスのコンストラクタ: クラスの人(公共人( ) ( / /コンストラクタの基本的な年齢、デフォルトでは0にセット)公的人物( int newage ) ( / / contructor年齢を指定して値を設定します。 setage ( newage ) ; )公共ボイドsetage ( int newage ) ( / /年齢を設定する値に格納さ年齢= newage newage ; ) int年齢; ) を宣言することができますオブジェクトの参照をする人が、以下の通り: 人billygate ; コンストラクタをコールする前にしなければならないの新しいオブジェクトを作成するタイプの人は、その変数に代入するbillygate新しいオブジェクトを参照する。 宣言していない場合は、クラスのコンストラクタは、デフォルトのコンストラクタが利用できることがないと単にパラメータは、クラスのオブジェクトを作成するときに呼び出されるデフォルトです。 我々は我々のコードスニペットを独自に作成人( )のデフォルトのコンストラクタは、コードが含まれていませんが、 2番目のコンストラクタとも呼ばれる人物( int newage )は、その値を設定するコードが含まれ、人間の年齢で指定されたオブジェクトを、新しい時代にパラメータの値です。 メモは我々だけで宣言省略された場合、最初と2番目のコンストラクタコンストラクタは、そこにはもはや、何もしませんが、利用可能なパラメータの既定のコンストラクタは、デフォルトのコンストラクタとしてのみ存在するクラスを含んでいない場合、ユーザ定義のコンストラクタです。 その人物からオブジェクトを作成するクラスは、我々が、次のコード行を使用する: / / 2番目のコンストラクタを使用して、年齢に値を設定する新たな人物21人billygate = ( 21 ) ; このセリフのコードを宣言する識別子と呼ばれるタイプの人とbillygateを作成する"新しい"人のオブジェクトを使用して2番目のコンストラクタは、オブジェクトを初期化するクラスの人は、年齢の設定値は、新たに21人のオブジェクトです。 我々も、次のコードを使用する代わりに、この時期の最初の(デフォルト)コンストラクタを使用して、オブジェクトを初期化し、次に年齢の値を設定するメソッドを使用してsetage 、これは、新しく作成したオブジェクトのメンバーです。 / /最初のコンストラクタを使用する人の新しい人物billygate = ( ) ; / /使用setageメンバーの年齢を21に設定するbillygate.setage ( 21 ) ; / /年齢を21の値を設定する 変数にアクセスすることも私たちの年齢とその値を直接セットは、以下のとおり: billygate.age = 21 ; 注2つのコンストラクタを使用することはできませんが、同じ署名した。 我々はこれまでに見たのインスタンスは、これは、使用される用語を説明したり、オブジェクトの作成には、クラスのインスタンスです。 願わくは、次の図を理解するのに役立ちますが、これはやや改善、人との関係を示してクラスとオブジェクトを作成することができます。 メンバーは、オブジェクトを作成する際のメンバーでは、オブジェクトが作成されます。 つまり、一度にアクセスすることでのみオブジェクトが作成されているため、それ以外のことは存在しません。 我々はその例を見ただけで、クラスのインスタンスを作成しbillygate参照される人物だ。 我々も作成可能性がある、より多くの人のクラスのインスタンスです。 billygateいる私たちによると、このオブジェクトは、これまで私たちはその人だけを作成する必要がありますか;そしたらスクラップの可能性を完全にその人のクラスと呼ばれる新しいクラスを作成するだけではなくbillygate 。 クラスのパブリック静的ボイドbillygate ( setage ( int newage ) ( / /年齢を設定する値に格納さ年齢= newage newage ; ) int静的な年齢; ) 我々は注意して削除し、コンストラクタとstaticキーワードを追加する2つの定義のメンバーです。 これは、我々はもはや必要がありますこのクラスのインスタンスを生成する。 静的メンバにアクセスすることができるだけのクラスの名前を使用しています。 例えば: billygate.setage ( 21 ) ; これらの静的メンバは、クラスのメンバとして知られるが、私たちは前にオブジェクトのメンバーです。 その例を我々はこれまでのところにのみ使用されるオブジェクトのメンバーや、クラスのメンバのいずれかが含まれ;もちろん両方で使用することができます。 さあ今すぐ戻って我々の人のクラスを追加すると、静的な属性です。 静的な属性をしなければならないことになって何かをすべての人のために、同じオブジェクトを作成することです。 だから我々が追加さdaysinayear整数変数と呼ばれる。 クラスの人( / /コードとしてdaysinayear前に静的int ; ) daysinayear属性にアクセスすることができる任意のオブジェクトを作成する前から、我々人のクラスです。 例えば: person.daysinayear = 365 ; もし我々の新しいインスタンスを作る人、そして彼らのstatic変数にアクセスできることをdaysinayearすぎる。 新しい人の人glennmurphy = ( 21 ) ;人物andrewmulholland =新しい人( 20 ) ; glennmurphy.daysinayear = 366 ; / /これは、うるう年system.out.println ( andrewmullholland.daysinayear ) ; このコードは、 2つの新しいインスタンスを作成する人は、参照されるglennmurphyとandrewmulholland 。 それからglennmurphyオブジェクトのstatic変数を設定します。 daysinayearを366とdaysinayearアクセスandrewmulhollandオブジェクトは、その値には、コンソールウィンドウを印刷します。 この番号をコンソールにプリントされるウィンドウでは、 366で、つまりそれはdaysinayearに所属していないだけで任意のオブジェクト;それに属するすべての人、およびその他の変更に影響を与えるから作られる1つです。 メモリが1つしかない部分がかれらを含む366のすべての値を参照します。 手短に言えば、それはそれはしかし、同じ属性にアクセス可能です。 リファレンスにアクセスするオブジェクト(クラスのインスタンスを覚えている)をJavaで、我々は何を使用するにはリファレンスとして知られています。 我々はこれまでのところで使われて我々の3つのリファレンスコード例: billygate 、 glennmurphy 、およびandrewmulholland 。 これらは、実際のオブジェクトを作成することではなくリファレンス(取っ手としても知られる)のオブジェクトを作成します。 たとえば、次のコードを取る: andrewmulholland = glennmurphy ; / /あいつは絶対に私の等しい このコードによりandrewmulholland単に同じオブジェクトリファレンスを参照してglennmurphy ;したがって、同じオブジェクトにアクセスすることがその後のいずれかの2つのリファレンスを使用しています。 このオブジェクトは20歳に等しい参照してandrewmulhollandは今一度失われたが、メモリを解放することは心配しないで、これはJavaの世話をしたのガーベッジコレクタ。 これは、記事に追加されたc.ガブリエラペレス
|
|||
|