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

面试题 相关文章推荐
垃圾回收的优点和原理。并考虑2种回收机制
Oct 16 面试题
在Java开发中如何选择使用哪种集合类
Aug 09 面试题
网络、C以及其他硬件方面的面试题
Aug 23 面试题
What is view? why do we have view?
Jun 22 面试题
几道数据库的面试题或笔试题
May 31 面试题
.NET面试问题集
Dec 08 面试题
网络通讯中,端口有什么含义,端口的取值范围
Nov 23 面试题
C# Debug和Testing相关面试题
Oct 25 面试题
如何利用cmp命令比较文件
Sep 23 面试题
Linux管理员面试经常问道的相关命令
Dec 12 面试题
MYSQL相比于其他数据库有哪些特点
Jul 19 面试题
介绍一下Ruby的特点
Jan 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
也谈 PHP 和 MYSQL
2006/10/09 PHP
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
vue实现弹幕功能
2019/10/25 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
举例介绍Python中的25个隐藏特性
2015/03/30 Python
分享Python文本生成二维码实例
2016/01/06 Python
Python端口扫描简单程序
2016/11/10 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
经贸专业毕业生求职信
2014/03/23 职场文书
中考标语大全
2014/06/05 职场文书
自我管理的活动方案
2014/08/25 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
广播体操比赛主持词
2015/06/29 职场文书
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS