Ruby 之 class 中的 private、 protected、public

 更新时间:2009年11月26日 19:09:47   作者:  
Ruby 之 class 中的 private、 protected、public
Private
private 函数只能 在本类和子类的 上下文中调用,且只能通过self访问。

这个意思就是:private函数,只能在本对象内部访问到。

对象实例变量(@)的访问权限就是 private。
复制代码 代码如下:

class AccessTest
def test
return “test private”
end
def test_other(other)
“other object ”+ other.test
end
end
t1 = AccessTest.new
t2 = AccessTest.new

p t1.test # => test private

p t1.test_other(t2) # => other object test private


# Now make 'test' private

class AccessTest
private :test
end

p t1.test_other(t2) #错误 in `test_other': private method `test' called for #<AccessTest:0x292c14> (NoMethodError)


Protected
protect 函数只能 在本类和子类的 上下文中调用,但可以使用 other_object.function的形式。(这跟 C++ 的 private 模式等同)

这个的关键是 protected函数可以在同类(含子类)的其它对象的内部中使用。

# Now make 'test' protect

class AccessTest
protected:test
end

p t1.test_other(t2) # other object test private

Public
public 函数可以在任何地方调用。成员函数和常量的默认访问权限就是public。

相关文章

  • ruby安装gem包失败的通用解决方法

    ruby安装gem包失败的通用解决方法

    这篇文章主要介绍了ruby安装gem包失败的通用解决方法,需要的朋友可以参考下
    2014-05-05
  • Ruby中的block、proc、lambda区别总结

    Ruby中的block、proc、lambda区别总结

    这篇文章主要介绍了Ruby中的block、proc、lambda区别总结,本文讲解了yield 和 block call 的区别、block 和 proc、lambda 的区别、proc 和 lambda 的区别,需要的朋友可以参考下
    2015-03-03
  • rails上传图片代码实例

    rails上传图片代码实例

    这篇文章主要介绍了rails上传图片代码实例,包含model层和view层的代码,需要的朋友可以参考下
    2014-06-06
  • 使用Ruby编写发送邮件的程序的简单教程

    使用Ruby编写发送邮件的程序的简单教程

    这篇文章主要介绍了使用Ruby编写发送邮件的程序的简单教程,包括发送带附件的邮件的代码实例,需要的朋友可以参考下
    2015-04-04
  • ruby实现github第三方认证

    ruby实现github第三方认证

    GitHub在用户认证过程中采用了双匙机制,在双匙加密机制中,只有合法用户才拥有私匙,只要GitHub在收到请求时可以证明提交请求的客户端上拥有该私匙,即可以确认该操作是由合法用户发起的。我们通过ruby来简单模拟下吧。
    2015-06-06
  • Ruby实现的3种快速排序算法

    Ruby实现的3种快速排序算法

    这篇文章主要介绍了Ruby实现的3种快速排序算法,本文给出了快速排序的普通版本、快速排序的随机化版本、快速排序的利用了Ruby的语法糖的随机化版本三个版本,需要的朋友可以参考下
    2015-05-05
  • Ruby中实现统计文件行数、单词数和字符数

    Ruby中实现统计文件行数、单词数和字符数

    这篇文章主要介绍了Ruby中实现统计文件行数、单词数和字符数,本文是自定义的一个函数,需要的朋友可以参考下
    2015-01-01
  • win7安装ruby on rails开发环境

    win7安装ruby on rails开发环境

    看到很多文章都说ruby环境在windows上是非常难搭建,会出现各种各样的怪问题,所以都推荐到linux和mac上安装开发。但是我按照教程搭了下,问题也不算太多。总过大概花费了2个半小时左右就完成了。下面就把安装的步骤及具体的版本记录了一下供大家参考。
    2014-07-07
  • 详解Ruby语言中的注释用法与中文编码问题

    详解Ruby语言中的注释用法与中文编码问题

    这篇文章主要介绍了Ruby语言中的注释用法与中文编码问题,是Ruby入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • ruby、javascript、php中的观察者模式实现代码

    ruby、javascript、php中的观察者模式实现代码

    这篇文章主要介绍了ruby、javascript、php中的观察者模式实现代码,通过本文可以深入的理解观察者模式,需要的朋友可以参考下
    2014-11-11

最新评论