最佳答案
在我阅读 这篇文章之前,我认为 Ruby 中的访问控制是这样工作的:
public-可以被任何对象访问(例如 Obj.new.public_method)protected-只能从对象本身以及任何子类中访问private-与 protected 相同,但是该方法不存在于子类中但是,看起来 protected和 private的作用是相同的,只是不能使用显式接收方调用 private方法(也就是说,self.protected_method工作,但是 self.private_method不工作)。
这有什么意义?在什么情况下,您不希望使用显式接收方调用您的方法?