程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Ruby >> Ruby 類案例

Ruby 類案例

編輯:Ruby

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" 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 的值。

當您想要在一個單行上顯示實例變量的文本和值時,您需要在 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 文件中,如下所示:

實例

#!/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 # 創建對象 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

這將產生以下結果:

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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved