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

面试题 相关文章推荐
DBA的职责都有哪些
May 16 面试题
.net面试题
Sep 17 面试题
.NET里面什么时候需要调用垃圾回收
Jun 01 面试题
私有程序集与共享程序集有什么区别
Apr 05 面试题
override和overload的区别
Mar 09 面试题
成都思必达公司C#程序员招聘面试题
Jun 26 面试题
C#和SQL Server的面试题
Aug 12 面试题
linux面试题参考答案(10)
Oct 26 面试题
港湾网络笔试题
Apr 19 面试题
面向对象设计的原则是什么
Feb 13 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
Mar 30 面试题
重写子类方法时,抛出异常的书写注意事项
Oct 17 面试题
给定一个时间点,希望得到其他时间点
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设计模式 注册表模式
2012/02/05 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python3使用requests发闪存的方法
2016/05/11 Python
python实现xlsx文件分析详解
2018/01/02 Python
python实现自动发送邮件
2018/06/20 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
远程调用的原理
2014/07/05 面试题
中学生家长评语大全
2014/04/16 职场文书
2014年计生标语
2014/06/23 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
英语投诉信范文
2015/07/03 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫