淺談幾種常見語言的命名空間(Namespace)
命名空間提供了一種從邏輯上組織類的方式,防止命名沖突。
幾種常見語言
C++
命名空間是可以嵌套的
嵌套的命名空間是指定義在其他命名空間中的命名空間。嵌套的命名空間是一個嵌套的作用域,內(nèi)層命名空間聲明的名字將隱藏外層命名空間聲明的同名成員:
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的硬傷,和那些優(yōu)雅的語言相比。蘋果官方建議兩個字母作為前綴的類名是為官方的庫和框架準備的,而對于作為第三方開發(fā)者,官方建議使用3個或者更多的字母作為前綴去命名我們的類。
PHP
namespace Vendor\Package\.....
它強調(diào)第一級Vendor就應該是唯一性標識,意味著你要擁有一個{Vendor}.com 的頂級域名,才可以保證自己項目的絕對唯一性。比如,當我想到這一點時,我立馬去注冊了一個meanir.com的域名來防身。
相關文章
vscode ssh遠程連接服務器一直卡在下載 vscode server問題解決
在使用vscode使用ssh遠程連接服務器時,一直卡在下載"vscode 服務器"階段,本文主要介紹了vscode ssh遠程連接服務器一直卡在下載 vscode server問題解決,感興趣的可以了解一下2025-01-01
C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
C++ 數(shù)據(jù)類型強制轉(zhuǎn)化的實現(xiàn)
這篇文章主要介紹了C++ 數(shù)據(jù)類型強制轉(zhuǎn)化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02

