Ruby的protected, private方法
2014-03-07 17:30
162 查看
看了几个帖子将到这个,说的比较抽象,当然自己写一个程序测试测试也就懂了。
传送门:http://rubyer.me/blog/667/
这里归纳一下:
Protected和private都会被子类继承。
Private的调用,只能是本类的内部调用,前面不加任何实例,也就是只有本类可以调用,最原始的方法含义,基本上功能就是在这个类的内部封装一些功能
Protected 在类里面调用,但是调用者可以是别的对象(子类)
就是说private方法虽然可以被子类所继承,但是每个继承的类都只能在自己的类里面调用;
而protected可以被子类继承,子类也可以在父类那里调用。
还不明白?
举个例子来说
你会两个东西
一个是讲家乡话,一个是撸管
你有了小孩,这个小孩也学会了你的两个看家本领,将家乡话和撸管
显然,你和你小孩都只能在自己一个人的时候看A片撸管,不能在别人面前撸。所以撸管这个方法是私有的,private方法只能自己调用。
你和你小孩之间可以互相将家乡话,所以protected的方法可以认为是家族方法
你和你家小孩不能在外人面前讲家乡话的,因为人家听不懂。所以你不能再别的类里面调用protected方法。
传送门:http://rubyer.me/blog/667/
这里归纳一下:
Protected和private都会被子类继承。
Private的调用,只能是本类的内部调用,前面不加任何实例,也就是只有本类可以调用,最原始的方法含义,基本上功能就是在这个类的内部封装一些功能
Protected 在类里面调用,但是调用者可以是别的对象(子类)
就是说private方法虽然可以被子类所继承,但是每个继承的类都只能在自己的类里面调用;
而protected可以被子类继承,子类也可以在父类那里调用。
还不明白?
举个例子来说
你会两个东西
一个是讲家乡话,一个是撸管
你有了小孩,这个小孩也学会了你的两个看家本领,将家乡话和撸管
显然,你和你小孩都只能在自己一个人的时候看A片撸管,不能在别人面前撸。所以撸管这个方法是私有的,private方法只能自己调用。
你和你小孩之间可以互相将家乡话,所以protected的方法可以认为是家族方法
你和你家小孩不能在外人面前讲家乡话的,因为人家听不懂。所以你不能再别的类里面调用protected方法。
相关文章推荐
- Ruby的protected, private方法
- Ruby 中方法作用域 public protected private
- Ruby 之 class 中的 private、 protected、public
- 细说Ruby里的public、protected和private
- ruby access control(public,protected,private)
- 项目一,学生信息(可以用两种方法,这种方法可以避免将protected改为private出现问题)
- Java能不能继承父类的protected和private方法?
- Java 类、属性、方法修饰符 public、private、protected、default
- NUnit详细使用用法(补充)--在.NET中如何利用NUnit测试Private和Protected方法
- 使用 nUnit 测试 Private 和 Protected 方法
- C++中public、protected及private使用方法
- 一个类如何使用另一个类的private、protected方法
- 关于类protected、private、public的方法
- Ruby中访问控制符public,private,protected区别总结
- Ruby中访问控制符public,private,protected区别总结
- Java private和protected修饰的内部类调用方法
- 第2章 Java编程基础——FAQ2.03 用public. protected和private修饰方法有什么区别?
- public,private,protected的区别,继承方法与访问权限
- 方法访问权限控制(public,protected,package,private)
- 测试 Java 类的private和protected变量和方法