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

面试题 相关文章推荐
Yahoo-PHP面试题2
Dec 06 面试题
请介绍一下Ant
Jul 22 面试题
类如何去实现接口
Dec 19 面试题
空字符串(“”)和null的区别
Nov 13 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 面试题
编写类String 的构造函数、析构函数和赋值函数
Sep 09 面试题
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
Oct 29 面试题
Linux机考试题
Jul 17 面试题
Shell如何接收变量输入
Sep 24 面试题
海量信息软件测试笔试题
Aug 08 面试题
EJB实例的生命周期
Oct 28 面试题
介绍一下Python中webbrowser的用法
May 07 面试题
给定一个时间点,希望得到其他时间点
Nov 07 #面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 #面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 #面试题
Ruby如何定义一个类
Oct 08 #面试题
介绍一下Ruby中的对象,属性和方法
Jul 11 #面试题
解释一下ruby中的特殊方法与特殊类
Feb 26 #面试题
介绍一下Ruby的多线程处理
Feb 01 #面试题
You might like
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
node中的session的具体使用
2018/09/14 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
python中遍历文件的3个方法
2014/09/02 Python
Python psutil模块简单使用实例
2015/04/28 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
python包的导入方式总结
2021/03/02 Python
自我评价如何写好?
2014/01/05 职场文书
高中数学教学反思
2014/01/30 职场文书
房地产营销策划方案
2014/02/08 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
环保建议书400字
2014/05/14 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
永不妥协观后感
2015/06/10 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
Java中API的使用方法详情
2022/04/06 Java/Android