Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗


Posted in 面试题 onMay 01, 2013
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的概念有所区别,保护方法的意思是方法只能方法只能被定义这个方法的类自己的对象和子类的对象访问,私有方法只能被对象自己访问。

class Test
def method1 #默认为公有方法

end

protected #保护方法
def method2

end

private #私有方法
def method3
end

public
def test_protected(arg) #arg是Test类的对象
arg.method2 #正确,可以访问同类其他对象的保护方法
end

def test_private(arg) #arg是Test类的对象
arg.method3 #错误,不能访问同类其他对象的私有方法
end
end

obj1 = Test.new
obj2 = Test.new

obj1.test_protected(obj2)
obj1.test_private(obj2)

可以看到,和C++/Java相比,Ruby提供了更好的封装性。

Tags in this post...

面试题 相关文章推荐
Java TransactionAPI (JTA) 主要包含几部分
Dec 07 面试题
使用索引有什么好处
Jul 27 面试题
利达恒信公司.NET笔试题面试题
Mar 05 面试题
如何保障Web服务器安全
May 05 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
Sep 10 面试题
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
Jul 11 面试题
C#中有没有静态构造函数,如果有是做什么用的?
Jun 04 面试题
linux面试题参考答案(9)
Jan 29 面试题
MVC的各个部分都有那些技术来实现?如何实现?
Apr 21 面试题
Overload和Override的区别
Sep 02 面试题
Ruby如何实现动态方法调用
Nov 18 面试题
DELPHI中如何调用API,可举例说明
Jan 16 面试题
给定一个时间点,希望得到其他时间点
Nov 07 #面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 #面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 #面试题
Ruby如何定义一个类
Oct 08 #面试题
介绍一下Ruby中的对象,属性和方法
Jul 11 #面试题
解释一下ruby中的特殊方法与特殊类
Feb 26 #面试题
介绍一下Ruby的多线程处理
Feb 01 #面试题
You might like
php adodb介绍
2009/03/19 PHP
深入解析php之sphinx
2013/05/15 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
CI框架表单验证实例详解
2016/11/21 PHP
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
深入理解python函数递归和生成器
2016/06/06 Python
利用python画一颗心的方法示例
2017/01/31 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
python list转置和前后反转的例子
2019/08/26 Python
Python使用贪婪算法解决问题
2019/10/22 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
英国航空官网:British Airways
2016/09/11 全球购物
工程造价自荐信
2013/10/09 职场文书
任课老师推荐信范文
2013/11/24 职场文书
车间核算员岗位职责
2014/07/01 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
公司离职证明标准范本
2014/10/05 职场文书
考研英语复习计划
2015/01/19 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
Python中的套接字编程是什么?
2021/06/21 Python