【RUNOOB】Ruby類和物件
阿新 • • 發佈:2022-06-06
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 6end 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")