Clss Teacher
def speak
puts "First speak"
end
def speak
puts "second speak"
end
end
如果 两次调用类teacher实例 speak方法会发生什么,请求对象,执行该方法
Teacher.new.speak
打印结果为 “second speak” 第二个方法定义略占优势:输出的结果是从第二个方法定义而来,而不是第一个。覆盖一个方法的时候,新版本将取代之前的。
通常情况下是不会这样做的,当需要覆盖一个方法的时候,一般是需要编写一个继承自原始类的子类,并且希望它们有不同的行为。
也可以通过重开类定义的方式为一个类添加方法,或者覆盖它们。