`
yjjxf
  • 浏览: 42425 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Ruby 方法的访问控制

    博客分类:
  • 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    
分享到:
评论

相关推荐

    Sketch Up Ruby API by Sugar.pdf

    SketchUp Ruby API 提供了对模型的访问和操作方法,包括: * 模型的创建和管理 * 模型的属性和设置 * 模型的选取和操作 * 模型的便捷操作 AttributeDictionary SketchUp Ruby API 提供了对属性词典的访问和操作...

    Ruby完全自学手册

    在查找学习资源时,建议访问专业的Ruby社区或者官方文档网站,比如Ruby官方网站、Ruby on Rails官网、以及Stack Overflow等问答社区。同时,可利用在线教程、课程视频、图书等资源进行系统学习。 如果在学习过程中...

    action_access, 面向 Ruby on Rails的访问控制系统.zip

    action_access, 面向 Ruby on Rails的访问控制系统 操作访问 动作存取为模块,concise concise,真正收费使用访问控制系统的Access 。 它允许安全地保护应用程序和处理权限。关注当前用户可以访问的操作,而不是干扰...

    Ruby 编程语言的书籍

    - **封装与访问控制**:讲解如何合理地隐藏对象的内部状态,保护数据安全。 5. **异常处理**:介绍异常的基本概念,以及如何使用`begin`, `rescue`, `ensure`等关键字来捕获和处理异常情况。 #### 三、高级特性篇...

    Working with Ruby Threads

    - **非确定性上下文切换**:线程之间的切换是由Ruby虚拟机(VM)控制的,这种切换是非确定性的,意味着无法预测何时会发生上下文切换。 #### 线程生命周期 - **创建线程**:使用`Thread.new`创建一个新的线程对象...

    Distributed Ruby

    - **安全性**:DRb提供了基于IP地址的访问控制列表(ACL)的安全性支持。 #### 四、获取DRb DRb的核心类包含在Ruby的标准库中。完整的DRb包可以从官方网站下载: - [官方网站](http://www2a.biglobe.ne.jp/~seki/...

    ruby - ruby tutorial

    在 Windows 系统上安装 Ruby 可以通过访问 Ruby 官方网站下载安装程序。安装过程中需要注意选择合适的编译器支持,以便能够顺利编译 Ruby 扩展模块。 安装完成后,可以通过命令提示符或 PowerShell 来验证 Ruby ...

    ruby完全安装过程

    - **下载RVM/chruby**:访问官方网站获取安装指南,根据你的操作系统选择合适的安装方法。 - **安装Ruby**:使用RVM或chruby,输入相应的命令来安装所需的Ruby版本。例如,安装Ruby 1.8.6,你可能会运行`rvm ...

    Ruby In a Nutshell

    - 块是Ruby中的匿名函数,由`do..end`或花括号`{}`定义,可以与方法一起使用。 - 闭包是指能够访问其定义时作用域的变量的块,即使在块被调用时该作用域已不存在。 8. ** Proc和Lambda** - `Proc`和`lambda`都是...

    Hello, Ruby World!

    - **访问控制**:Ruby支持三种不同级别的访问控制:公共(`public`)、受保护(`protected`)和私有(`private`)。 ##### 4. 单例方法 - **定义**:单例方法是在特定对象实例上定义的方法,而不是在类级别定义的...

    .一步一步学RUBY

    变量分为局部变量、全局变量、实例变量和类变量,每种变量的作用域和生命周期不同,提供了灵活的数据封装和访问控制。 **常量**以大写字母开头,尽管Ruby允许对常量进行重新赋值,但这将触发警告,强调常量应保持...

    ruby语法基础教程及Ruby教程中文版和安装文件

    关于Ruby的安装,你可以访问Ruby官方网站(https://www.ruby-lang.org/zh/)下载适合你操作系统的安装包。Windows用户可以选择RubyInstaller,Mac用户可以通过Homebrew安装,Linux用户可以在终端输入相应的包管理器...

    ruby中文文档中心资料

    除此之外,Ruby的Gem生态系统是其强大之处,包含了数万个第三方库,涵盖了各种用途,如Web开发框架Rails,数据库访问库ActiveRecord,测试工具RSpec等。 在"testwww"这个文件名中,"test"可能是一个示例项目或者...

    ruby开发文档

    本开发文档将深入探讨Ruby的核心概念、语法特性、类与对象、方法、模块和混合、数组、哈希、控制结构、异常处理、文件与目录操作、Gem包管理、测试框架等内容,帮助开发者全面理解和掌握Ruby编程。 1. **核心概念**...

    Ruby不完全读书指南.rar

    本"Ruby不完全读书指南"将深入探讨这些概念,并通过实例解析Ruby的使用方法,无论你是初学者还是有一定经验的开发者,都能从中受益。阅读这份指南,你将学会如何利用Ruby的强大功能,编写出高效、优雅的代码。

    ruby-debug-1.87.rar

    3. `ruby_core_source-0.1.5.gem`:这个组件提供了对Ruby内核源码的访问,使得调试器可以获取到关于Ruby内部操作的详细信息。这对于深入理解Ruby引擎的工作原理,以及调试涉及到Ruby核心部分的问题非常有帮助。 ...

Global site tag (gtag.js) - Google Analytics