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...

面试题 相关文章推荐
如何强制垃圾回收
Oct 06 面试题
char型变量中能不能存贮一个中文汉字
Jul 08 面试题
经典C++面试题一
Nov 06 面试题
世界经理人咨询有限公司面试
Sep 23 面试题
网络安全类面试题
Aug 01 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jan 03 面试题
ShellScript面试题一则-ShellScript编程
Mar 05 面试题
介绍一下grep命令的使用
Jun 12 面试题
Linux常见面试题
Mar 18 面试题
Java如何获得ResultSet的总行数
Sep 03 面试题
介绍一下Java中的static关键字
May 12 面试题
Unix如何添加新的用户
Aug 20 面试题
给定一个时间点,希望得到其他时间点
Nov 07 #面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 #面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 #面试题
Ruby如何定义一个类
Oct 08 #面试题
介绍一下Ruby中的对象,属性和方法
Jul 11 #面试题
解释一下ruby中的特殊方法与特殊类
Feb 26 #面试题
介绍一下Ruby的多线程处理
Feb 01 #面试题
You might like
写一个用户在线显示的程序
2006/10/09 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
9个比较实用的php代码片段
2016/03/15 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
node简单实现一个更改头像功能的示例
2017/12/29 Javascript
React优化子组件render的使用
2019/05/12 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
在Python中处理时间之clock()方法的使用
2015/05/22 Python
Python创建模块及模块导入的方法
2015/05/27 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
Python阶乘求和的代码详解
2020/02/14 Python
django 模版关闭转义方式
2020/05/14 Python
应届生英语教师求职信
2013/11/05 职场文书
腾讯广告词
2014/03/19 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
关于旅游的活动方案
2014/08/15 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
单位接收证明格式
2015/06/18 职场文书