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()
ВЫВОД:Почему ruby позволяет дочерним классам обращаться к закрытым методам родителей?
привет
Тестирование
Он наследует этот метод. Почему, по-вашему, нельзя называть это? – spickermann
@CanadianCoder Я думал, что члены OOP класса, объявленные как private, не наследуются подклассами этого класса. По крайней мере, в Java и PHP, как я полагаю. – CodeCrack
Только что начал изучать Ruby сам и должен сказать, читая «The Book of Ruby», эта идея кажется немного нечеткой, если не вводить в заблуждение, учитывая поведение, но, возможно, это только я. И да Java не позволяет дочерним классам обращаться к приватным методам супер. – ChiefTwoPencils