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

面试题 相关文章推荐
构造器Constructor是否可被override?
Aug 06 面试题
请描述一下”is a”关系和”has a”关系
Feb 03 面试题
什么是serialVersionUID
Mar 04 面试题
寻找迷宫的一条出路,o通路;X:障碍
Jul 10 面试题
ddl,dml和dcl的含义
May 08 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
如何查找网页漏洞
Jun 22 面试题
linux面试题参考答案(5)
Sep 01 面试题
Why do we need Unit test
Jan 03 面试题
MYSQL相比于其他数据库有哪些特点
Jul 19 面试题
几个MySql的面试题
Apr 22 面试题
JSF的标签库有哪些
Apr 27 面试题
给定一个时间点,希望得到其他时间点
Nov 07 #面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 #面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 #面试题
Ruby如何定义一个类
Oct 08 #面试题
介绍一下Ruby中的对象,属性和方法
Jul 11 #面试题
解释一下ruby中的特殊方法与特殊类
Feb 26 #面试题
介绍一下Ruby的多线程处理
Feb 01 #面试题
You might like
基于mysql的bbs设计(一)
2006/10/09 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
js对象的构造和继承实现代码
2010/12/05 Javascript
文本有关的样式和jQuery求对象的高宽问题分别说明
2013/08/30 Javascript
js数组操作学习总结
2013/11/04 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
jQuery实现本地存储
2020/12/22 jQuery
Python实现队列的方法
2015/05/26 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
django站点管理详解
2017/12/12 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
我就是这样学习Python中的列表
2019/06/02 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
教育课题研究自我鉴定范文
2013/12/28 职场文书
护士长竞聘书
2014/03/31 职场文书
活动总结怎么写
2014/04/28 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
上课不认真检讨书
2014/09/17 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书