在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
重点关注private与protected public默认即为public,全局都可以访问,这个不解释 privateC++, “private” 意为 “private to this class”, 但是Ruby中意为 “private to this instance”. protected可以在本类或子类中访问,不能在其它类中访问。 测试代码(public均可访问,代码略)class A def test protected_mth private_mth self.protected_mth #self.private_mth #wrong obj = B.new obj.protected_mth #obj.private_mth #wrong end protected def protected_mth puts "#{self.class}-protected" end private def private_mth puts "#{self.class}-private" end end class B < A def test protected_mth private_mth self.protected_mth #self.private_mth #wrong obj = B.new obj.protected_mth #obj.private_mth #wrong end end class C def test a = A.new #a.protected_mth #wrong #a.private_mth #wrong end end A.new.test B.new.test C.new.test 注:ruby的访问控制不同于java,没有包的区别。 参考:http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Classes#Declaring_Visibility |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论