天天看點

Ruby 類案例

下面将建立一個名為 Customer 的 Ruby 類,聲明兩個方法:

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 "Customer id #@cust_id"

puts "Customer name #@cust_name"

puts "Customer address #@cust_addr"

def total_no_of_customers()

@@no_of_customers += 1

puts "Total number of customers: #@@no_of_customers"

display_details 方法包含了三個 puts 語句,顯示了客戶 ID、客戶名字和客戶位址。其中,puts 語句:

将在一個單行上顯示文本 Customer id 和變量 @cust_id 的值。

當您想要在一個單行上顯示執行個體變量的文本和值時,您需要在 puts 語句的變量名前面放置符号(#)。文本和帶有符号(#)的執行個體變量應使用雙引号标記。

第二個方法,total_no_of_customers,包含了類變量 @@no_of_customers。表達式 @@no_of_

customers+=1 在每次調用方法 total_no_of_customers 時,把變量 no_of_customers 加 1。通過這種方式,您将得到類變量中的客戶總數量。

現在建立兩個客戶,如下所示:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")

cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

在這裡,我們建立了 Customer 類的兩個對象,cust1 和 cust2,并向 new 方法傳遞必要的參數。當 initialize 方法被調用時,對象的必要屬性被初始化。

一旦對象被建立,您需要使用兩個對象來調用類的方法。如果您想要調用方法或任何資料成員,您可以編寫代碼,如下所示:

cust1.display_details()

cust1.total_no_of_customers()

對象名稱後總是跟着一個點号,接着是方法名稱或資料成員。我們已經看到如何使用 cust1 對象調用兩個方法。使用 cust2 對象,您也可以調用兩個方法,如下所示:

cust2.display_details()

cust2.total_no_of_customers()

現在,把所有的源代碼放在 main.rb 檔案中,如下所示:

# 建立對象

# 調用方法

接着,運作程式,如下所示:

這将産生以下結果: