草庐IT

Visibility

全部标签

go - Go中嵌入式私有(private)接口(interface)的可见性

如果我将一个小写名称(私有(private))的接口(interface)嵌入到另一个大写名称(公共(public))的接口(interface)中,我假设定义包之外的代码看不到嵌入的私有(private)接口(interface)。这个假设是否正确?typebinterface{G()int}typeAinterface{F()stringb}定义包之外的代码无法“看到”嵌入的b,对吗?外部代码不能通过A的实例调用G。 最佳答案 在界面中嵌入未导出的界面接口(interface)嵌入接口(interface)无非就是合并metho

go - Go中嵌入式私有(private)接口(interface)的可见性

如果我将一个小写名称(私有(private))的接口(interface)嵌入到另一个大写名称(公共(public))的接口(interface)中,我假设定义包之外的代码看不到嵌入的私有(private)接口(interface)。这个假设是否正确?typebinterface{G()int}typeAinterface{F()stringb}定义包之外的代码无法“看到”嵌入的b,对吗?外部代码不能通过A的实例调用G。 最佳答案 在界面中嵌入未导出的界面接口(interface)嵌入接口(interface)无非就是合并metho

package - 子包中的可见性

成员从子包到根包的可见性如何?这就是我的意思:foo//the"root"packagefoo/utils//asub-packagefoo/tools//anothersub-packagefoo是否可以访问foo/utils和foo/tools的私有(private)成员,或者它们是否作为独立的包运行? 最佳答案 Go没有子目录和子包的概念。包彼此分开。导入路径"foo/utils"只是一个导入路径(如何找到包的方法)——字符串"foo/utils"除了在本地磁盘或Internet上定位包之外没有任何意义。foo无法访问foo/

package - 子包中的可见性

成员从子包到根包的可见性如何?这就是我的意思:foo//the"root"packagefoo/utils//asub-packagefoo/tools//anothersub-packagefoo是否可以访问foo/utils和foo/tools的私有(private)成员,或者它们是否作为独立的包运行? 最佳答案 Go没有子目录和子包的概念。包彼此分开。导入路径"foo/utils"只是一个导入路径(如何找到包的方法)——字符串"foo/utils"除了在本地磁盘或Internet上定位包之外没有任何意义。foo无法访问foo/

c - 如何隐藏在多个文件中可见的全局变量?

我正在编写一个C(共享)库。它最初是一个单一的翻译单元,我可以在其中定义几个static全局变量,以对外部模块隐藏。现在库已经变大了,我想把模块分成几个较小的源文件。问题是现在我有两个选项可以用于提到的全局变量:在每个源文件中都有私有(private)副本,并通过函数调用以某种方式同步它们的值-这会很快变得非常丑陋。删除static定义,因此变量在使用extern的所有翻译单元之间共享-但现在链接到库的应用程序代码可以访问这些globals,如果在那里进行了所需的声明。那么,是否有一种巧妙的方法可以让私有(private)全局变量在多个特定翻译单元之间共享?

c - 如何隐藏在多个文件中可见的全局变量?

我正在编写一个C(共享)库。它最初是一个单一的翻译单元,我可以在其中定义几个static全局变量,以对外部模块隐藏。现在库已经变大了,我想把模块分成几个较小的源文件。问题是现在我有两个选项可以用于提到的全局变量:在每个源文件中都有私有(private)副本,并通过函数调用以某种方式同步它们的值-这会很快变得非常丑陋。删除static定义,因此变量在使用extern的所有翻译单元之间共享-但现在链接到库的应用程序代码可以访问这些globals,如果在那里进行了所需的声明。那么,是否有一种巧妙的方法可以让私有(private)全局变量在多个特定翻译单元之间共享?

php - 覆盖私有(private)方法时的奇怪行为

考虑以下代码:classfoo{privatefunctionm(){echo'foo->m()';}publicfunctioncall(){$this->m();}}classbarextendsfoo{privatefunctionm(){echo'bar->m()';}publicfunctioncallbar(){$this->m();}}$bar=newbar;$bar->call();$bar->callbar();现在,改变m()方法的可见性,我得到:(+代表public,-代表private)Visibilitybar->call()bar->callbar()===

php - 覆盖私有(private)方法时的奇怪行为

考虑以下代码:classfoo{privatefunctionm(){echo'foo->m()';}publicfunctioncall(){$this->m();}}classbarextendsfoo{privatefunctionm(){echo'bar->m()';}publicfunctioncallbar(){$this->m();}}$bar=newbar;$bar->call();$bar->callbar();现在,改变m()方法的可见性,我得到:(+代表public,-代表private)Visibilitybar->call()bar->callbar()===

php - __destruct PHP 的可见性

__destruct()函数的“可见性”应该是公开的还是其他?我正在尝试为我的团队编写标准文档,然后出现了这个问题。 最佳答案 除了MarkBiek的回答:__destruct()函数必须公开。否则,该函数将不会在脚本关闭时执行:Warning:CalltoprotectedMyChild1::__destruct()fromcontext''duringshutdownignoredinUnknownonline0Warning:CalltoprivateMyChild2::__destruct()fromcontext''dur

php - __destruct PHP 的可见性

__destruct()函数的“可见性”应该是公开的还是其他?我正在尝试为我的团队编写标准文档,然后出现了这个问题。 最佳答案 除了MarkBiek的回答:__destruct()函数必须公开。否则,该函数将不会在脚本关闭时执行:Warning:CalltoprotectedMyChild1::__destruct()fromcontext''duringshutdownignoredinUnknownonline0Warning:CalltoprivateMyChild2::__destruct()fromcontext''dur