在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Privateprivate权限的函数只能在本对象的成员函数中访问到。也就是这个函数只是这个对象的实现细节。 对象实例变量(@instance_attribute)的访问权限就是 private。 class A private @instance_attribute = "instance_attribute"; class B < A def test
end def test_other(a) a.test_access end end
p A.new.test_private #错误test.rb:20: private method `test_access' called for #<A:0x3fd9064> (NoMethodError) B.new.test_other(A.new) #错误test.rb:18: in `test_other': private method `test_access' called for #<A:0x4198850> (NoMethodError) from test.rb:24
Protectedprotected 权限的函数只能在被本类或子类的 上下文中调用,但可以使用 other_object.function的形式。 这个的关键是可以调用 本类的其它对象的protected函数。 # Now make 'test' protect class B p A.new.test_access # 错误 private method 'test_access' p B.new.test_other(B.new) # test access right p B.new.test_other(A.new) # 错误 private method 'test_access' Publicpublic 函数可以在任何地方调用。成员函数和常量的默认访问权限就是public。 总结:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论