W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
下面將創(chuàng)建一個名為 Customer 的 Ruby 類,您將聲明兩個方法:
#!/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" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end
display_details 方法包含了三個 puts 語句,顯示了客戶 ID、客戶名字和客戶地址。其中,puts 語句:
puts "Customer id #@cust_id"
將在一個單行上顯示文本 Customer id,后跟變量 @cust_id 的值。
當(dāng)您想要在一個單行上顯示實例變量的文本和值時,您需要在 puts 語句的變量名前面放置符號(#)。文本和帶有符號(#)的實例變量應(yīng)使用雙引號標(biāo)記。
第二個方法,total_no_of_customers,包含了類變量 @@no_of_customers。表達式 @@no_of_ customers+=1 在每次調(diào)用方法 total_no_of_customers 時,把變量 no_of_customers 加 1。通過這種方式,您將得到類變量中的客戶總數(shù)量。
現(xiàn)在創(chuàng)建兩個客戶,如下所示:
cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala")
在這里,我們創(chuàng)建了 Customer 類的兩個對象,cust1 和 cust2,并向 new 方法傳遞必要的參數(shù)。當(dāng) initialize 方法被調(diào)用時,對象的必要屬性被初始化。
一旦對象被創(chuàng)建,您需要使用兩個對象來調(diào)用類的方法。如果您想要調(diào)用方法或任何數(shù)據(jù)成員,您可以編寫代碼,如下所示:
cust1.display_details() cust1.total_no_of_customers()
對象名稱后總是跟著一個點號,接著是方法名稱或數(shù)據(jù)成員。我們已經(jīng)看到如何使用 cust1 對象調(diào)用兩個方法。使用 cust2 對象,您也可以調(diào)用兩個方法,如下所示:
cust2.display_details() cust2.total_no_of_customers()
現(xiàn)在,把所有的源代碼放在 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 "Customer id #@cust_id" puts "Customer name #@cust_name" puts "Customer address #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end # 創(chuàng)建對象 cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala") # 調(diào)用方法 cust1.display_details() cust1.total_no_of_customers() cust2.display_details() cust2.total_no_of_customers()嘗試一下 ?
接著,運行程序,如下所示:
$ ruby main.rb
這將產(chǎn)生以下結(jié)果:
Customer id 1 Customer name John Customer address Wisdom Apartments, Ludhiya Total number of customers: 1 Customer id 2 Customer name Poul Customer address New Empire road, Khandala Total number of customers: 2
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: