在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Ruby中的public、protected和private栗子1:
尝试: puts person1.my_public_method 输出:I am a public method puts person1.my_protected_method 输出:main.rb:617:in `': protected method `my_protected_method' called for # (NoMethodError) puts person1.my_private_method 输出:main.rb:618:in `': private method `my_private_method' called for #(NoMethodError) 得出:public能被实例对象调用,protected和private不能被实例对象直接调用 栗子2:
输出: I am a public method I am a protected method I am a private method 得出:public、protected、private方法都可以被定义他们的类访问 栗子3:
输出: I am a public method I am a protected method I am a private method 得出:public、protected、private方法都可以被定义他们的类的子类访问 栗子4:
尝试: person2.call_method_protected(person1) 输出: I am a protected method person2.call_method_private(person1) 输出: main.rb:720:in `call_method_private': private method `my_private_method' called for #(NoMethodError) 得出:protected方法可以被其他的实例对象访问,而private方法不可以。 总结: public方法可以被定义它的类和子类访问,并可以被类和子类的实例对象调用; protected方法可以被定义它的类和子类访问,不能被类和子类的实例对象调用,但可以被该类的实例对象(所有)访问; private方法可以被定义它的类和子类访问,不能被类和子类的实例对象调用,只能在自身中调用私有方法。 作者:itxing 链接:https://www.jianshu.com/p/da8068deff89 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论