在這裡,我們將了解和學習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類都是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
類的所有方法。