在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"。