ruby學習筆記-類和對象

1.ruby定義類ruby

class Custom

end

在ruby中,類老是以關鍵字class開始,後跟類的名稱。類名的首字母應該大寫。函數

能夠使用關鍵字end終止一個類,也能夠不用。類中的全部數據成員都是介於類定義和end關鍵字之間。code

2.ruby類中的變量,ruby提供了四種類型的變量對象

局部變量:局部變量是在方法中定義的變量。局部變量在方法外是不可用的。局部變量以小寫字母或_開始it

實例變量:實例變量能夠跨任何特定的實例或對象中的方法使用。實例變量在變量名以前放置符號@class

類變量:類變量能夠跨不一樣的對象使用。類變量在變量名以前放置符號@@變量

全局變量:類變量不能跨類使用。全局變量老是以符號$開始。方法

class Customer
    @@no_of_customers=0
end

3.在ruby中使用new方法建立對象數據

new是一種獨特的方法,在ruby庫中預約義,new方法屬於類方法。di

cust1 = Customer.new
cust2 = Customer.new

4.自定義方法建立ruby對象

能夠給方法new傳遞參數,這些參數可用於初始化類變量。使用自定義的new方法時,須要在建立類的同時聲明方法initialize,initialize是一種特殊類型的方法,將在調用帶參數的類new方法時執行。

class Customer
  @@no_of_customers=0
  def initialize(id,name,addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
  end
end

5.ruby中的成員函數

class Sample
   def hello
       puts "----hello ruby------"
   end
end

6.類案例

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

#自定義類的new方法後,原new方法不能使用
#cust1 = Customer.new
#cust2 = Customer.new

cust3 = Customer.new("3","John","Hubei")
cust4 = Customer.new("4","Paul","Hunan")

puts cust3
cust4.display_details
cust4.total_no_of_customers
相關文章
相關標籤/搜索