命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。
--------------------几种常见语言------------
C++
命名空间是可以嵌套的
嵌套的命名空间是指定义在其他命名空间中的命名空间。嵌套的命名空间是一个嵌套的作用域,内层命名空间声明的名字将隐藏外层命名空间声明的同名成员
1 int x = 20; 2 namespace outer { 3 int x = 10; 4 namespace inner { 5 int z = x; 6 } 7 } 8 9 int main() 10 { 11 std::cout << outer::inner::z; // 输出10 12 return 0; 13 }
C#
嵌套的命名空间
命名空间声明中声明命名空间,各命名空间用”.”分隔。
例如:
1 namespace N1.N2 2 { 3 class A {} 4 class B {} 5 }
Objective-C
在Objective-C应用中的所有类名都必须是全局唯一的。命名一直是Objective-C的硬伤,和那些优雅的语言相比。苹果官方建议两个字母作为前缀的类名是为官方的库和框架准备的,而对于作为第三方开发者,官方建议使用3个或者更多的字母作为前缀去命名我们的类。
PHP
1 namespace VendorPackage.....