1. 程式人生 > 其它 >【RUNOOB】Ruby類和物件

【RUNOOB】Ruby類和物件

1.在ruby中定義類

(1) 類以關鍵字class開始,後跟類的名稱,類名的首字母應該大寫;

(2) 使用關鍵字end終止一個類,類中的所有資料成員都是介於類定義和end關鍵字之間;

1 #示例1
2 class Customer
3 end

2.ruby類中的變數

2.1 區域性變數

(1) 區域性變數是在方法中定義的變數。區域性變數在方法外是不可用的。

(2) 區域性變數以小寫字母或 _ 開始

2.2 例項變數

(1) 例項變數可以跨任何特定的例項或物件中的方法使用。

(2) 例項變數在變數名之前放置符號(@)

2.3 類變數

(1) 類變數可以跨不同的物件使用。類變數屬於類,且是類的一個屬性。

(2) 類變數在變數名之前放置符號(@@)。

1 class Customer
2     @@no_of_customers=0
3 end

2.4 全域性變數

(1) 類變數不能跨類使用。全域性變數可以跨類使用。

(2) 全域性變數總是以美元符號($)開始。

3.ruby類中的成員函式

(1) ruby中,函式被成為方法; 類中的每個方法都是以關鍵字def開始,後跟方法名,使用關鍵字end結束一個方法;

(2) 方法名總以小寫字母開頭;

1 #示例1
2 class Sample
3   def function
4     statement 1
5     statement 2
6
end 7 end
1 #示例2
2 class Sample
3   def hello
4     puts "Hello Ruby!"
5   end
6 end
 1 #示例3
 2 #!/usr/bin/ruby
 3  
 4 class Sample
 5    def hello
 6       puts "Hello Ruby!"
 7    end
 8 end
 9  
10 # 使用上面的類來建立物件
11 object = Sample. new
12 object.hello

4.ruby中建立物件

(1) 物件是類的例項;在ruby中,可以使用類的方法new建立物件;

(2) 方法new屬於類方法,在ruby庫中預定義;

1 #示例1
2 cust1=Customer.new
3 cust2=Customer.new

(3) 可以給new方法傳遞引數用於初始化類的變數; 這種情況下,需要在建立類的同時宣告方法initialize;

 1 #示例2
 2 class Customer
 3   @@no_of_customers=0
 4   def initialize(id, name, addr)
 5     @cust_id=id
 6     @cust_name=name
 7     @cust_addr=addr
 8   end
 9 end
10 
11 cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
12 cust2=Customer.new("2", "Poul", "New Empire road, Khandala")