在我阅读本文之前,我认为Ruby中的访问控制工作方式如下:
public- 可以被任何对象访问(例如Obj.new.public_method)protected - 只能从对象本身以及任何子类中访问private - 与protected相同,但子类中不存在该方法但是,看起来protected并且private行为相同,除了你不能private用显式接收器调用方法(即self.protected_method工作,但self.private_method没有).
这有什么意义?什么时候你不希望你的方法用显式接收器调用?