在Ruby中,super
關鍵字用于調用父類(或基類)的方法。當你在子類中定義一個方法,并且想要在該方法內部調用父類的同名方法時,你可以使用super
關鍵字。這樣可以避免父類方法的硬編碼,提高了代碼的可維護性。
以下是一個簡單的示例,展示了如何在Ruby類定義中使用super
關鍵字:
class Animal
def initialize(name)
@name = name
end
def speak
puts "The animal makes a sound"
end
end
class Dog < Animal
def initialize(name, breed)
super(name) # 調用父類的initialize方法
@breed = breed
end
def speak
super # 調用父類的speak方法
puts "The dog barks"
end
end
my_dog = Dog.new("Buddy", "Golden Retriever")
my_dog.speak
在這個示例中,我們定義了一個Animal
類和一個繼承自Animal
的Dog
類。在Dog
類的initialize
方法和speak
方法中,我們使用了super
關鍵字來調用父類的相應方法。當我們創建一個Dog
對象并調用其speak
方法時,它將首先調用父類Animal
的speak
方法,然后輸出"The dog barks"。