Ruby中如何使用多态性

avatar
作者
猴君
阅读量:0

在Ruby中,多态性可以通过方法重载和方法重写来实现。方法重载是指在同一个类中定义多个同名方法,但参数列表不同,根据传入的参数来调用不同的方法。方法重写是指子类重写父类的同名方法,实现不同的功能。

# 方法重载 class Animal   def make_sound(sound)     puts sound   end    def make_sound(sound1, sound2)     puts "#{sound1} and #{sound2}"   end end  animal = Animal.new animal.make_sound("Meow")  # 输出 Meow animal.make_sound("Woof", "Meow")  # 输出 Woof and Meow  # 方法重写 class Cat < Animal   def make_sound(sound)     puts "Cat says: #{sound}"   end end  cat = Cat.new cat.make_sound("Meow")  # 输出 Cat says: Meow 

通过方法重载和方法重写,可以实现多态性,使得不同的对象可以以统一的方式进行操作,提高代码的灵活性和可维护性。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!