淺談幾種罕見說話的定名空間(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的域名來防身。