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

面试题 相关文章推荐
weblogic面试题
Mar 07 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
面向对象编程的优势是什么
Dec 17 面试题
C面试题
Oct 08 面试题
利用异或运算实现两个无符号数的加法运算
Dec 20 面试题
数据库面试要点基本概念
Oct 31 面试题
什么是数据库锁?Oracle中都有哪些类型的锁?
Aug 21 面试题
什么是唯一索引
Jul 05 面试题
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
Jul 27 面试题
Linux不知道文件后缀名怎么判断文件类型
Aug 21 面试题
Linux机考试题
Jul 17 面试题
GWebs公司笔试题
May 04 面试题
给定一个时间点,希望得到其他时间点
Nov 07 #面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 #面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 #面试题
Ruby如何定义一个类
Oct 08 #面试题
介绍一下Ruby中的对象,属性和方法
Jul 11 #面试题
解释一下ruby中的特殊方法与特殊类
Feb 26 #面试题
介绍一下Ruby的多线程处理
Feb 01 #面试题
You might like
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
php对称加密算法示例
2014/05/07 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
bootstrap fileinput 上传插件的基础使用
2017/02/17 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
2020/03/14 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
Python中顺序表原理与实现方法详解
2019/12/03 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
求职信范文怎么写
2014/01/29 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
2014年就业工作总结
2014/11/26 职场文书
化验室岗位职责
2015/02/14 职场文书
详解Python描述符的工作原理
2021/06/11 Python
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL