浅谈几种常见语言的命名空间(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