淺談幾種罕見說話的定名空間(Namespace)。本站提示廣大學習愛好者:(淺談幾種罕見說話的定名空間(Namespace))文章只能為提供參考,不一定能成為您想要的結果。以下是淺談幾種罕見說話的定名空間(Namespace)正文
定名空間供給了一種從邏輯上組織類的方法,避免定名抵觸。
幾種罕見說話
C++
定名空間是可以嵌套的
嵌套的定名空間是指界說在其他定名空間中的定名空間。嵌套的定名空間是一個嵌套的感化域,內層定名空間聲明的名字將隱蔽外層定名空間聲明的同名成員:
int x = 20;
namespace outer {
int x = 10;
namespace inner {
int z = x;
}
}
int main()
{
std::cout << outer::inner::z; // 輸入10
return 0;
}
C#
嵌套的定名空間
定名空間聲明中聲明定名空間,各定名空間用”.”分隔。
例如:
namespace N1.N2
{
class A {}
class B {}
}
在語義上等效於
namespace N1
{
namespace N2
{
class A {}
class B {}
}
}
Java
package cn.org.web3d.x3dpad
Java中的定名空間意味著你只需具有一個自力的頂級域名,便可以包管本身項目標相對獨一性。
Objective-C
在Objective-C運用中的一切類名都必需是全局獨一的。定名一向是Objective-C的硬傷,和那些優雅的說話比擬。蘋果官方建議兩個字母作為前綴的類名是為官方的庫和框架預備的,而關於作為第三方開辟者,官方建議應用3個或許更多的字母作為前綴去定名我們的類。
PHP
namespace Vendor\Package\.....
它強調第一級Vendor就應當是獨一性標識,意味著你要具有一個{Vendor}.com 的頂級域名,才可以包管本身項目標相對獨一性。好比,當我想到這一點時,我立馬去注冊了一個meanir.com的域名來防身。