这是我使用Object类的代码继承:
class Object
private
def talk
puts "hi there"
end
end
class Child
talk # outputs 'hi there'
end
这是我的代码继承与一个新类:
class Parent
private
def talk
puts "hi there"
end
end
class Child < Parent
talk #`<class:Child>': undefined local variable or method `talk' for Child:Class (NameError)
end
为什么这会有不同的表现?
答案 0 :(得分:2)
在这两个示例中,您都在talk
的上下文中调用Child
,这是Class
类的实例。
在第一个示例中,实例方法talk
在Object
类上定义,Class
是其中的子类。
在第二个示例中,实例方法talk
在Parent
类上定义,Class
不是它的子类。