相关疑难解决方法(0)

为什么Ruby有私有和受保护的方法?

在我阅读本文之前,我认为Ruby中的访问控制工作方式如下:

  • public- 可以被任何对象访问(例如Obj.new.public_method)
  • protected - 只能从对象本身以及任何子类中访问
  • private - 与protected相同,但子类中不存在该方法

但是,看起来protected并且private行为相同,除了你不能private用显式接收器调用方法(即self.protected_method工作,但self.private_method没有).

这有什么意义?什么时候你不希望你的方法用显式接收器调用?

ruby language-design access-specifier

134
推荐指数
5
解决办法
4万
查看次数

标签 统计

access-specifier ×1

language-design ×1

ruby ×1