English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ruby クラスとオブジェクト

Rubyは完璧なオブジェクト指向プログラミング言語です。オブジェクト指向プログラミング言語の特性には、以下のものがあります:

  • データ封装
  • データ抽象
  • 多態性
  • 継承

これらの特性は オブジェクト指向の Ruby で議論されています。

オブジェクト指向のプログラム、関係するクラスとオブジェクト。クラスは個別のオブジェクトの設計図です。オブジェクト指向の用語では、あなたの自転車は自転車クラスの例です。

車の例を挙げると、それは車輪(wheels)、馬力(horsepower)、燃料またはガスタンクの容量(fuel or gas tank capacity)を含みます。これらの属性が車(Vehicle)クラスのデータメンバーを形成し、これにより、一つの車を他の車と区別することができます。

車は特定の関数、例えば停止(halting)、運転(driving)、スピード違反(speeding)を含むこともできます。これらの関数は、車(Vehicle)クラスのデータメンバーを形成します。したがって、属性と関数の組み合わせでクラスを定義することができます。

クラスVehicleの定義は以下の通りです:

オンラインサンプル

Class Vehicle
{
   Number no_of_wheels
   Number horsepower
   Characters type_of_tank
   Number Capacity
   Function speeding
   {
   }
   Function driving
   {
   }
   Function halting
   {
   }
}

を異なる値に割り当てることで、クラスVehicleの異なる例を作成できます。例えば、飛行機は3つの輪があり、馬力 1、燃料タンクの容量は 100リットル。同じように、車は4つの輪があり、馬力 200、ガス容器の容量は 25 上がります。

Rubyでクラスを定義する方法

Rubyでオブジェクト指向プログラミングを実装するには、まずRubyでオブジェクトとクラスをどう定義するかを学ぶ必要があります。

Rubyでは、クラスは常にキーワード class から始まり、クラス名が続きます。クラス名の最初の文字は大文字でなければなりません。 Customer 以下のように:

class Customer
end

を使用して: end クラスを終了します。クラス のすべてのデータメンバーは、クラス定義と end キーワードの間。

Rubyクラスの変数

Rubyは4種類の変数を提供しています:

  • ローカル変数:ローカル変数はメソッド内で定義された変数です。ローカル変数はメソッド外では使用できません。次の章では、メソッドに関する詳細を紹介します。ローカル変数は小文字のアルファベットや_で始まる必要があります。
  • サンプル変数:サンプル変数は特定のサンプルやオブジェクトのメソッド間で使用できます。これは、サンプル変数がオブジェクト間で変化するということを意味します。サンプル変数は変数名の前に記号(@)を付ける必要があります。
  • クラス変数:クラス変数は異なるオブジェクト間で使用できます。クラス変数はクラスに属し、クラスの属性です。クラス変数は変数名の前に記号(@@)を付ける必要があります。
  • グローバル変数:クラス変数はクラス間で使用できません。クラス間で使用できる変数をもちたい場合は、グローバル変数を定義する必要があります。グローバル変数はドル記号($)で始まります。

オンラインサンプル

クラス変数 @@no_of_customers を使用して、创建されたオブジェクトの数を判断できます。これにより、顧客数を確認できます。

オンラインサンプル

class Customer
   @@no_of_customers=0
end

Ruby で new メソッドを使用してオブジェクトを创建します。

オブジェクトはクラスの例です。今や、Ruby でクラスのオブジェクトを如何に创建するかを学びます。Ruby では、クラスのメソッド new オブジェクトを创建します。

メソッド new は、Ruby ライブラリで事前に定義されたユニークなメソッドです。new メソッドは、クラスメソッド。

以下の例では、クラス Customer の 2 つのオブジェクト cust を创建しています:1 そして cust2:

cust1 = Customer. new
cust2 = Customer. new

ここでは、cust1 そして cust2 オブジェクトの名前は以下のようになります。オブジェクト名の後には等号(=)が続き、その後クラス名が続き、ドット演算子とキーワード new

カスタムメソッドを定義して Ruby オブジェクトを作成できます。

メソッドに new パラメータを渡して、これらのパラメータはクラス変数の初期化に使用できます。

パラメータを含む new メソッドを実行する際に、クラスを同時に宣言する必要があります。 initialize

initialize メソッドは、パラメータを渡したクラスの呼び出し時に実行される特殊なメソッドです。 new メソッドを実行する際に実行されます。

以下の例では、initialize メソッドを创建しています:

オンラインサンプル

class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   end
end

このサンプルでは、 id、name、addr ローカル変数として initializeメソッド。def ここでは、 end Ruby メソッドを定義するために使用されます。 initialize。次の章では、メソッドに関する詳細を学びます。

で、 initialize メソッドでは、これらのローカル変数の値を @cust_id、@cust_name、@cust_addr というサンプル変数に伝えます。ここでは、ローカル変数の値は new メソッドを通じて伝えられます。

今や、以下のようにオブジェクトを作成できます:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

Ruby クラスのメンバーファンクション

Ruby では、関数がメソッドと呼ばれます。クラスの中で、各メソッドはキーワード def で始まり、その後メソッド名が続きます。

メソッド名は常に小文字の開始します。Ruby では、キーワード end メソッドを終了するために使用されます。

以下の例では、Ruby メソッドを定義しています:

class Sample
   def function
      および 1
      および 2
   end
end

def functionおよび 1 ここでは、 および 2 statement はクラス Sample 内のメソッドです function の主要な構成部分です。これらの文はどの Ruby 文も有効です。例えば、以下のようにメソッドを使用できます puts を表示するために使用しますHello Ruby

class Sample
   def hello
      puts "Hello Ruby!"
   end
end

以下の例では、クラス Sample のオブジェクトを作成し、以下のように呼び出します: hello メソッド:

#!/usr/bin/ruby
class Sample
   def hello
      puts "Hello Ruby!"
   end
end
# 上記のクラスを使用してオブジェクトを作成します
object = Sample.new
object.hello

以下の結果が得られます:

こんにちは Ruby!

シンプルなケーススタディ

クラスとオブジェクトに関する練習をさらに多く行いたい場合は、以下のケーススタディがあります:

Ruby クラスの例