Rubyのクラスとオブジェクト
Rubyは完全なオブジェクト指向プログラミング言語です。 オブジェクト指向プログラミング言語の機能は次のとおりです。
- データのカプセル化
- データの抽象化
- 多型
- 受け継ぎます
これらの機能は次のようになりますオブジェクト指向Rubyは議論の下にありました。
オブジェクト指向プログラミング、クラスとオブジェクトが含まれていました。 クラスが作成された個々のオブジェクトのための青写真です。 オブジェクト指向の用語では、あなたの自転車は、クラスのバイクのインスタンスです。
車両では、例えば、それは、HP(馬力)、石油またはガスタンク容量(燃料またはガスタンク容量)、ホイール(車輪)を含みます。 これらの特性は、車両(自動車)クラスのデータメンバを形成しました。 あなたが他の車両からの1車両を区別することができ、これらの属性を持ちます。
車両はまた、(スピード違反)を高速化、(運転)を駆動する、このような一時停止(停止)などの特定の機能を含めることができます。 これらの機能は、車両(自動車)クラスのデータメンバを形成します。 したがって、あなたは、プロパティと関数の組み合わせとしてクラスを定義することができます。
次のように定義された車両クラス:
クラス車 { 番号no_of_wheels 数馬力 文字type_of_tank 番号容量 関数の高速化 { } 機能駆動 { } 機能停止 { } }
異なる値を割り当てられたこれらのデータメンバーを与えることによって、あなたはクラスの車両の別のインスタンスを作成することができます。 例えば、3輪、千馬力、100リットルの燃料タンクの容量を持つ飛行機。 同様に、四輪、200馬力、25リットルのガソリンタンクの容量を持つ車。
Rubyでクラスの定義
Rubyのオブジェクト指向プログラミングを使用するためには、Rubyでオブジェクトとクラスを作成する方法を学習する必要があります。
Rubyでは、クラスは常にクラスの名前が続き、キーワードクラスで始まります。 クラス名の最初の文字を大文字にする必要があります。Customerクラス次のように:
Customerクラス 終了
あなたは、クラスを終了するには、キーワードの端を使用することができます。このクラスのすべてのデータメンバは、クラス定義及び終了キーワードの間です。
Rubyのクラス変数
Rubyは、変数の4種類が用意されています。
- ローカル変数:ローカル変数は、メソッドで定義された変数です。メソッド外部ローカル変数は使用できません。 以降の章では、メソッドの詳細が表示されます。 ローカル変数は、小文字または_で始まります。
- 任意の特定のインスタンス全体のインスタンス変数やオブジェクトのメソッド:変数の例 。 これは、インスタンス変数は、オブジェクトへのオブジェクトから変更することができることを意味します。 変数名の前にインスタンス変数の記号(@)を配置します。
- クラス変数:異なるオブジェクト全体のクラス変数。クラス変数はクラスに属し、クラスのプロパティです。 クラス変数は、変数名の前に記号(@@)を配置します。
- グローバル変数:クラス変数はクラスの使用にまたがることはできません。あなたは、クラス間の変数を持っているしたい場合は、グローバル変数を定義する必要があります。 グローバル変数は常にドル記号($)で始まります。
例
あなたは顧客の数を決定することができるようにあなたは、作成するオブジェクトの数を決定することができ、クラス変数@@ no_of_customersを使用してください。
Customerクラス @@ No_of_customers = 0 終了
Rubyで新しいメソッドを使用してオブジェクトを作成します
オブジェクトは、クラスのインスタンスです。 これで、Rubyでクラスのオブジェクトを作成する方法を学習します。 Rubyでは、 新しいオブジェクトを作成するために、クラスメソッドを使用することができます。
新しい方法はユニークなアプローチ、Rubyで事前に定義されたライブラリです。 新しいメソッドは、 クラスメソッドに属します。
次の例では、Customerクラスとcust2 CUST1 2つのオブジェクトを作成します。
CUST1 =顧客。新しいです cust2 =顧客。新しいです
ここで、CUST1とcust2は、2つのオブジェクトの名前です。 クラス名は、ドット演算子とキーワード新たに続く等号の後に等号(=)に続いて、オブジェクト名の後に。
Rubyのオブジェクトを作成するためのカスタムメソッド
これらのパラメータは、クラス変数を初期化するために使用することができ、新たなメソッドにパラメータを渡すことができます。
あなたはパラメータで新しいメソッド宣言をしたいときには、メソッドの初期化を宣言すると同時に、クラスを作成する必要があります。
初期化メソッドは、 新しいメソッドがパラメータクラスに呼び出されたときの方法の特別なタイプが実行されますです。
次の例では、初期化メソッドを作成します。
Customerクラス @@ No_of_customers = 0 デフ初期化する(ID、名前、ADDR) @ CUST_ID = ID @ CUST_NAME =名前 @ Cust_addr = addrは 終了 終了
この例では、initializeメソッドのローカル変数としてID、名前、addrで宣言することができます。 ここでは、Rubyのメソッドを定義するためのデフと終了初期化します。 後の章では、あなたが方法についての詳細を学びます。
initializeメソッドでは、インスタンス変数の@のCUST_ID、@のCUST_NAMEと@cust_addrにこれらのローカル変数の値。 ここでは、配信の新しい方法でローカル変数の値。
次のように今、あなたは、オブジェクトを作成することができます。
CUST1 = Customer.new( "1"、 "ジョン"、 "知恵のアパート、Ludhiya」) cust2 = Customer.new( "2"、 "ポウル」、「新帝国道路、Khandala」)
Rubyのクラスメンバ関数
Rubyでは、関数はメソッドと呼ばれています。 各クラスのメソッドは、メソッド名に続くキーワードdefは、に基づいています。
メソッド名は常に小文字です。 Rubyでは、あなたは一つの方法を終了するキーワードendを使用することができます。
次の例では、Rubyのメソッドを定義します。
クラスサンプル デフ機能 ステートメント1 ステートメント2 終了 終了
ここでは、ステートメント1、 文2は、体内のクラスのサンプル関数法の一部です。 これらのステートメントは、任意の有効なRubyのステートメントにすることができます。 例えば、我々はこの方法を使用することができ、次のように、出力こんにちはルビーに置きます:
クラスサンプル デフこんにちは 「こんにちはルビー!」置きます 終了 終了
次の例では、クラスのサンプルのオブジェクトを作成し、 ハローメソッドを呼び出します。
#!は/ usr / binに/ルビー クラスサンプル デフこんにちは 「こんにちはルビー!」置きます 終了 終了 #=サンプルをオブジェクトのオブジェクトを作成するには、上記のクラスを使用します。新しいです object.hello
これは、次のような結果が生成されます。
ルビーこんにちは!
シンプルなケーススタディ
あなたは、クラスとオブジェクトの詳細演習を行いたい場合は、ケーススタディがあります: