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

Ruby クラスの例

以下では、Customer という名前の Ruby クラスを作成し、2つのメソッドを宣言します:

  • display_details:このメソッドは、顧客の詳細情報を表示するために使用されます。

  • total_no_of_customers:このメソッドは、システムに作成された顧客の合計数を表示するために使用されます。

オンラインサンプル

#!/usr/bin/ruby
 
class Customer
   @@no_of_customers = 0
   def initialize(id, name, addr)
      @cust_id = id
      @cust_name = name
      @cust_addr = addr
   end
   def display_details()
      puts "顧客のID @cust_id"
      puts "顧客の名前 @cust_name"
      puts "顧客の住所 @cust_addr"
    end
    def total_no_of_customers()
       @@no_of_customers += 1
       puts "顧客の総数: #@@no_of_customers"
    end
end

display_details メソッドには 3 つの puts ステートメントが含まれており、顧客 ID、顧客名、顧客住所を表示しています。その中で、puts ステートメント:

puts "顧客のID @cust_id"

テキスト Customer id と変数 @cust_id の値を一行で表示します。

サンプル変数のテキストと値を一行で表示したい場合は、puts文の変数名の前にシンボル(#)を置きます。テキストとシンボル(#)付きのサンプル変数はダブルクォートで囲まれます。

第2のメソッド、total_no_of_customersにはクラス変数@@no_of_customersが含まれています。表达式 @@no_of_ customers+=1 total_no_of_customersメソッドが呼び出されたとき、変数no_of_customersに加算します。 1このようにして、クラス変数の顧客の総数を取得します。

以下のように2つの顧客を作成します。

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

ここで、Customerクラスの2つのオブジェクト、custを生成しました。1 および cust2、newメソッドに必要なパラメータを渡します。initializeメソッドが呼び出されたとき、オブジェクトの必要な属性が初期化されます。

オブジェクトが作成されたら、2つのオブジェクトを使用してクラスのメソッドを呼び出す必要があります。メソッドやデータメンバーを呼び出したい場合は、以下のようにコードを書きます:

cust1.display_details()
cust1.total_no_of_customers()

オブジェクト名の後には常にピリオドが続き、メソッド名またはデータメンバーが続きます。custの使用法を見てきました。1 オブジェクトを cust で呼び出します。2 オブジェクト、以下のように2つのメソッドを呼び出すことができます:

cust2.display_details()
cust2.total_no_of_customers()

コードを保存して実行します

今、すべてのソースコードを main.rb ファイルに保存して、以下のようにします:

オンラインサンプル

#!/usr/bin/ruby
 
class Customer
   @@no_of_customers = 0
   def initialize(id, name, addr)
      @cust_id = id
      @cust_name = name
      @cust_addr = addr
   end
   def display_details()
      puts "顧客のID @cust_id"
      puts "顧客の名前 @cust_name"
      puts "顧客の住所 @cust_addr"
   end
   def total_no_of_customers()
      @@no_of_customers += 1
      puts "顧客の総数: #@@no_of_customers"
   end
end
 
オブジェクトを作成します
cust1=Customer.new("1"John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")
 
# メソッドを呼び出す
cust1.display_details()
cust1.total_no_of_customers()
cust2.display_details()
cust2.total_no_of_customers()

次に、プログラムを実行します。以下のようになります:

$ ruby main.rb

以下の結果が生成されます:

顧客ID 1
顧客名 John
顧客住所 Wisdom Apartments, Ludhiya
顧客数総数: 1
顧客ID 2
顧客名 Poul
顧客住所 New Empire road, Khandala
顧客数総数: 2