Object クラス (private として定義されている) でメソッドを定義した場合、別のクラス内からそれを呼び出すことができる可能性はありますか? つまり、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