博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几种常见语言的命名空间(Namespace)特性
阅读量:5904 次
发布时间:2019-06-19

本文共 770 字,大约阅读时间需要 2 分钟。

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

几种常见语言

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

转载地址:http://wqkpx.baihongyu.com/

你可能感兴趣的文章
浅析微信支付:开发前的准备
查看>>
我理解的数据结构(七)—— 堆和优先队列(Heap And PriorityQueue)
查看>>
Category 特性在 iOS 组件化中的应用与管控
查看>>
python模块之shutil
查看>>
浮动的label
查看>>
前端工程化
查看>>
微信公众号开发中的支付流程
查看>>
PowerShell 学习笔记 - 1 PS Core 基础
查看>>
NodeJS+Express搭建个人博客-环境搭建(一)
查看>>
关于iOS 11.x微信连wifi流程中,在Portal页无法拉起微信问题的简单记录
查看>>
Golang Gin实践 番外 请入门 Makefile
查看>>
时间戳转换成时间日期格式及去重
查看>>
【docker实操】使用docker部署一个laravel应用
查看>>
Python GUI库wxPython官网Hello World示例的逐行解释
查看>>
MyBatis的常见属性总结select、insert、update、delete
查看>>
vue无缝滚动的插件开发填坑分享
查看>>
webpack引入eslint详解
查看>>
FileReader api
查看>>
深入浅出HTTPS
查看>>
微软开源用于 Azure 数据压缩的算法、硬件和源码
查看>>