9
class Main
def say_hello
puts "Hello"
end
private
def say_hi
puts "hi"
end
end
class SubMain < Main
def say_hello
puts "Testing #{say_hi}"
end
end
test = SubMain.new
test.say_hello()
OUTPUT:为什么ruby允许子类访问父类的私有方法?
喜
测试
它继承该方法。你为什么认为它不应该被称为它? – spickermann
@CanadianCoder我认为在一个被声明为private的类的OOP成员不会被该类的子类继承。至少在Java和PHP中,这是我相信的。 – CodeCrack
刚开始自己学习Ruby,不得不说在阅读“Ruby之书”时,这个想法似乎有点模糊,如果没有误导给出的行为,但也许这只是我。是的,Java不允许子类访问超级的私有方法。 – ChiefTwoPencils