ruby

Ruby类定义怎样使用super关键字

小樊
84
2024-11-06 07:06:40
栏目: 编程语言

在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类和一个继承自AnimalDog类。在Dog类的initialize方法和speak方法中,我们使用了super关键字来调用父类的相应方法。当我们创建一个Dog对象并调用其speak方法时,它将首先调用父类Animalspeak方法,然后输出"The dog barks"。

0
看了该问题的人还看了