Ruby 方法的访问控制

  Ruby要改变一个对象的内部状态,唯一的简单方式就是调用它的方法。控制对方法的访问,就可以控制对对象访问。Ruby
 提供了三种访问控制方式:
    public 方法可以被任何人调用,没有限制访问控制。方法默认是public的(除initialize外)
   
    protected 方法只能被定义了该方法的类或其子类的对象所调用。这个家族均可访问
   
    private 方法不能被明确的接收者调用,其接受者只能self。这个私有方法只能在当前对象的上下文中被调用。
   
    注意:访问控制是在程序运行的时候动态判定的,而非静态判定,只有当代码试图执行受限制的方法,才会抛出异常。
    我们通过public、protected、private三个函数来为类或模块定义内的方法指定访问级别。这里有两种方式使用函数:
     1、使用时没有参数

ruby 代码
  1. class Test   
  2.      
  3.   public   
  4.      def method1   
  5.     .......   
  6.      end  
  7.   
  8.  private   
  9.      def method2   
  10.     ........   
  11.     end  
  12.   
  13. protected   
  14.      def method3   
  15.     ........   
  16.     end  
  17.   
  18. end  


     2、通过将方法名作为参数列表传入控制访问函数来设置访问级别。

ruby 代码
  1. class Test      
  2.      
  3.     public :method1      
  4.     private :method2      
  5.    protected :method3      
  6. end    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值