如果我在 Object 类(定义为私有)中定义一个方法,我怎么可能从另一个类中调用它?我的意思是,当我从 Dog 类内部调用 say_hello 时,如果 say_hello 是顶级定义的方法,因此它是 Object 类的私有方法,如何解决?我知道 Object 类在所有类的方法查找中,但是如果该方法是私有的,它不应该是可访问的吗?
def say_hello
p "Hello"
end
class Dog
def test_hello
say_hello
end
end
prova = Dog.new
prova.test_hello
我想对我的疑问的一个更简单的解释是:为什么我可以从孩子那里调用父母的私有方法?
class Animal
private
def prova
p "hello"
end
end
class Dog < Animal
def test_hello
prova
end
end
prova = Dog.new
prova.test_hello