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

作者:hebedich 时间:2022-11-13 12:17:42 

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

几种常见语言

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的域名来防身。

标签:命名空间,Namespace
0
投稿

猜你喜欢

  • JavaWeb使用Session和Cookie实现登录认证

    2023-12-11 19:13:29
  • MultipartResolver实现文件上传功能

    2021-06-19 22:38:15
  • Android 中 Tweened animation的实例详解

    2022-12-12 15:28:06
  • java单机接口限流处理方案详解

    2021-05-25 21:08:07
  • Java BeanPostProcessor与BeanFactoryPostProcessor基础使用讲解

    2022-10-25 21:52:35
  • Java 8中字符串拼接新姿势StringJoiner详解

    2022-03-09 03:00:28
  • C#实现图表中鼠标移动并显示数据

    2022-10-30 20:45:30
  • C语言高效编程的几招小技巧

    2023-11-02 14:12:50
  • java中如何使用HttpClient调用接口

    2021-10-13 11:19:14
  • SpringBoot使用token简单鉴权的具体实现方法

    2022-07-10 14:23:42
  • C#微信公众号开发之使用MessageHandler简化消息处理流程

    2022-04-12 12:12:34
  • Java Durid进行JDBC连接详解

    2022-09-25 02:35:12
  • c# WPF实现Windows资源管理器(附源码)

    2022-10-01 14:34:46
  • Unity 数据存储和读取的方法汇总

    2021-12-12 11:39:47
  • Spring Boot 静态资源处理方式

    2022-09-14 11:14:39
  • java -jar设置添加启动参数实现方法

    2022-04-26 21:05:37
  • Mybatis配置之typeAlias标签的用法

    2023-11-27 20:18:20
  • IDEA不编译除了.java之外的文件的解决办法(推荐)

    2023-09-16 15:50:44
  • mvc开启gzip压缩示例分享

    2022-05-03 08:34:29
  • Java实现按行读取大文件

    2022-11-05 13:56:57
  • asp之家 软件编程 m.aspxhome.com