What are the differences between “private”, “public”, and “protected methods”?

后端 未结 7 1764
栀梦
栀梦 2020-12-08 04:03

I\'m learning Ruby, and have come up to a point where I am confused.

The book I am using is talking about private, public, and protec

7条回答
  •  一向
    一向 (楼主)
    2020-12-08 04:44

    Public - can be called from anywhere

    Private - The method cannot be called outside class scope. The object can only send the message to itself

    ex: the baker has bake method as public but break_eggs is private

    Protected - You can call an object's protected methods as long as the default object self is an instance of the same class as the object whose method you're calling

    ex: with n protected method, c1 can ask c2 to execute c2.n, because c1 and c2 are both instances of the same class

    And last but not least:

    • Inheritance: Subclasses inherit the method-access rules of their superclass

    if "class D < C", then D will exhibit the same access behaviour as instances of C

    reference: http://www.amazon.com/Ruby-Rails-Techniques-Developers/dp/1932394699

提交回复
热议问题