溫馨提示×

Ruby類定義怎樣使用super關(guān)鍵字

小樊
81
2024-11-06 07:06:40
欄目: 編程語言

在Ruby中,super關(guān)鍵字用于調(diào)用父類(或基類)的方法。當(dāng)你在子類中定義一個方法,并且想要在該方法內(nèi)部調(diào)用父類的同名方法時,你可以使用super關(guān)鍵字。這樣可以避免父類方法的硬編碼,提高了代碼的可維護性。

以下是一個簡單的示例,展示了如何在Ruby類定義中使用super關(guān)鍵字:

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) # 調(diào)用父類的initialize方法
    @breed = breed
  end

  def speak
    super # 調(diào)用父類的speak方法
    puts "The dog barks"
  end
end

my_dog = Dog.new("Buddy", "Golden Retriever")
my_dog.speak

在這個示例中,我們定義了一個Animal類和一個繼承自AnimalDog類。在Dog類的initialize方法和speak方法中,我們使用了super關(guān)鍵字來調(diào)用父類的相應(yīng)方法。當(dāng)我們創(chuàng)建一個Dog對象并調(diào)用其speak方法時,它將首先調(diào)用父類Animalspeak方法,然后輸出"The dog barks"。

0