Ruby類和對象

在這裏,我們將瞭解和學習Ruby中的對象和類。 在面向對象編程語言中,使用對象和類設計程序。

對象是物理和邏輯實體,而類只是一個邏輯實體。

Ruby對象

Object類是所有Ruby對象的默認根。 Ruby對象繼承自BasicObject(它是Ruby中所有類的父類)類,允許創建替代對象層次結構。

對象混合在內核模塊中,使得內置的內核功能可以全局訪問。

創建對象

Ruby中的對象是通過調用類的new方法來創建的。 它是一種獨特的方法,並在Ruby庫中預定義。

Ruby對象是類的實例。

語法

objectName = className.new

示例:

假設我們有一個名爲Stuent的類。 現在,創建一個對象stu,並使用以下命令,

stu = Studen.new("John")

完整示例代碼 -

class Student
  attr_accessor :name, :phone
  def introduction()
    puts "Hi , I'm #{name}!"
  end

def say_hello(name, toname)
  puts "Hello, #{toname}! I'm #{name}"
  end

end

stu = Student.new
stu.name = "Maxsu"
stu.introduction()
stu.say_hello('Katrina', 'Maxsu')

將上面代碼保存到文件:student.rb,執行上面代碼,得到以下結果 -

F:\worksp\ruby>ruby Student.rb
Hi , I'm Maxsu!
Hello, Maxsu! I'm Katrina

F:\worksp\ruby>

Ruby類

每個Ruby類都是Class類的一個實例。 Ruby中的類是一流的對象。

Ruby類始終以class關鍵字後接類名開頭。 通常對於類名,使用駝峯命名規則(CamelCase)。 類的名稱應始終以大寫字母開頭。定義類是用end關鍵字完成的。

語法

class ClassName  
    codes...  
end

如下示例代碼中,定義一個名稱爲:Dog 的類 -

class Dog  
  def initialize(breed, name)  
    # Instance variables  
    @breed = breed  
    @name = name  
  end  

  def bark  
    puts 'Ruff! Ruff!'  
  end  

  def display  
    puts "I am of #{@breed} breed and my name is #{@name}"  
  end  
end  

# make an object  
# Objects are created on the heap  
d = Dog.new('Labrador', 'Benzy') 
d.bark  
d.display

在上面的例子中,我們使用class關鍵字創建了一個Dog類。 d是一個實例變量,可用於調用Dog類的所有方法。