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

面试题 相关文章推荐
PHP如何与mysql建立链接
May 05 面试题
说出一些常用的类,包,接口
Sep 22 面试题
华为C++笔试题
Aug 05 面试题
华美博弈C/VC工程师笔试试题
Jul 16 面试题
北承题目(C++)
May 16 面试题
如何用SQL语句进行模糊查找
Sep 25 面试题
不用游标的SQL语句有哪些
Sep 07 面试题
介绍一下HTTP、HTTPS和SSL
Dec 16 面试题
C#和SQL Server的面试题
Aug 12 面试题
如何开启linux的ssh服务
Feb 14 面试题
Linux常见面试题
Mar 18 面试题
Java中各种基本数据类型的默认值都是什么
Dec 22 面试题
给定一个时间点,希望得到其他时间点
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存储过程
2007/02/14 PHP
PHP开发框架总结收藏
2008/04/24 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
phplot生成图片类用法详解
2015/01/06 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
php实现的日历程序
2015/06/18 PHP
js 中 document.createEvent的用法
2010/08/29 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
JavaScript事件类型中UI事件详解
2016/01/14 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
Vue实现验证码功能
2019/12/03 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
python Scrapy框架原理解析
2021/01/04 Python
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
理工学院学生自我鉴定
2014/02/23 职场文书
中药专业自荐信范文
2014/03/18 职场文书
汽车促销活动方案
2014/03/31 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS