Clss Teacher
def speak
puts "First speak"
end
def speak
puts "second speak"
end
end
如果 两次调用类teacher实例 speak方法会发生什么,请求对象,执行该方法
Teacher.new.speak
打印结果为 “second speak” 第二个方法定义略占优势:输出的结果是从第二个方法定义而来,而不是第一个。覆盖一个方法的时候,新版本将取代之前的。
通常情况下是不会这样做的,当需要覆盖一个方法的时候,一般是需要编写一个继承自原始类的子类,并且希望它们有不同的行为。
也可以通过重开类定义的方式为一个类添加方法,或者覆盖它们。
本文探讨了在编程中方法覆盖的概念,特别是在Ruby语言中如何通过重新定义方法来改变类的行为。文章解释了当一个类的方法被多次定义时,最新定义的方法会覆盖先前的定义,这在实现类继承和多态时尤为重要。
1568

被折叠的 条评论
为什么被折叠?



