有没有办法通过继承来访问函数,而不需要设置函数对public的访问?ColdFusion中的函数访问
例如:我有Foo.cfc,它扩展了Bar.cfc。如果我想从Foo.cfc调用Bar.cfc函数,则必须将函数访问权限设置为public。
如果我将函数设置为private,那么它只能从Foo.cfc访问。是否没有“中间”访问级别,不是非常公开的,而是严格私人的?即它允许通过继承进行访问...
有没有办法通过继承来访问函数,而不需要设置函数对public的访问?ColdFusion中的函数访问
例如:我有Foo.cfc,它扩展了Bar.cfc。如果我想从Foo.cfc调用Bar.cfc函数,则必须将函数访问权限设置为public。
如果我将函数设置为private,那么它只能从Foo.cfc访问。是否没有“中间”访问级别,不是非常公开的,而是严格私人的?即它允许通过继承进行访问...
您是否正在使用关键字super
?因为private methods should be available to sub components喜欢Foo.cfc。
Foo.cfc
<cfcomponent extends="Bar">
.....
<cffunction name="fooMethod" access="public" ...>
<cfreturn super.nameOfAMethodInBarCFC() />
</cffunction>
</cfcomponent>
如果我设置的功能访问私有,那么它从Foo.cfc
才能访问不是真的! ColdFusion的private
访问级别是相同的Java protected
,所以你仍然可以调用酒吧的私有方法从富
您需要设置访问属性在cffunction包装。这将允许任何扩展该组件的组件访问它。
我犯了一个错误。事实证明,亨利和其他人指出私人方法是可访问的。抱歉虚惊一场。 – Mohamad 2011-02-04 06:28:20