Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
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提供了更好的封装性。
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提供了更好的封装性。
【Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗】相关文章
1. Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
3. 介绍一下结构化程序设计方法和面向对象程序设计方法的区别
4. 既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
9. 面向对象设计的原则是什么
10. ruby如何进行集成操作?Ruby能进行多重继承吗?
本文来源:https://www.mianshiwenti.com/a13477.html
进入下载页面
﹝Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗﹞相关内容
- 年底双薪和年终奖一样吗?
- 传统软件工程与面向对象的软件工程有什么区别
- 面向对象编程是如何提高软件开发水平的
- 面向对象编程的优势是什么
- 面向对象编程OOP的优点
- Java面向对象面试题
- 面向对象概念面试题(.NET)
- Java语言程序设计测试题改错题部分
- Java语言程序设计测试题判断题部分
- Java语言程序设计测试题选择题部分