浅谈几种常见语言的命名空间(Namespace)

2025-05-27 0 21

命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。

几种常见语言

C++

命名空间是可以嵌套的

嵌套的命名空间是指定义在其他命名空间中的命名空间。嵌套的命名空间是一个嵌套的作用域,内层命名空间声明的名字将隐藏外层命名空间声明的同名成员:

?

1

2

3

4

5

6

7

8

9

10

11

12

13
int x = 20;

namespace outer {

int x = 10;

namespace inner {

int z = x;

}

}

int main()

{

std::cout << outer::inner::z; // 输出10

return 0;

}

C#

嵌套的命名空间

命名空间声明中声明命名空间,各命名空间用”.”分隔。

例如:

?

1

2

3

4

5
namespace N1.N2

{

class A {}

class B {}

}

在语义上等效于

?

1

2

3

4

5

6

7

8
namespace N1

{

namespace N2

{

class A {}

class B {}

}

}

Java

?

1
package cn.org.web3d.x3dpad

Java中的命名空间意味着你只要拥有一个独立的顶级域名,就可以保证自己项目的绝对唯一性。

Objective-C

在Objective-C应用中的所有类名都必须是全局唯一的。命名一直是Objective-C的硬伤,和那些优雅的语言相比。苹果官方建议两个字母作为前缀的类名是为官方的库和框架准备的,而对于作为第三方开发者,官方建议使用3个或者更多的字母作为前缀去命名我们的类。

PHP

?

1
namespace Vendor\\Package\\.....

它强调第一级Vendor就应该是唯一性标识,意味着你要拥有一个{Vendor}.com 的顶级域名,才可以保证自己项目的绝对唯一性。比如,当我想到这一点时,我立马去注册了一个meanir.com的域名来防身。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 浅谈几种常见语言的命名空间(Namespace) https://www.kuaiidc.com/74958.html

相关文章

发表评论
暂无评论