首页 > 后端开发 > php教程 > 几种常见语言的命名空间(Namespace)特点

几种常见语言的命名空间(Namespace)特点

WBOY
发布: 2016-06-13 12:29:04
原创
1240 人浏览过

几种常见语言的命名空间(Namespace)特性

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

几种常见语言

C++

命名空间是可以嵌套的

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

<code class="sourceCode cpp"><span class="dt">int</span> x = <span class="dv">20</span>; <span class="kw">namespace</span> outer {   <span class="dt">int</span> x = <span class="dv">10</span>;   <span class="kw">namespace</span> inner {     <span class="dt">int</span> z = x;   } }   <span class="dt">int</span> main() {   std::cout << outer::inner::z; <span class="co">// 输出10 </span>  <span class="kw">return</span> <span class="dv">0</span>; } </code>
登录后复制

C#

嵌套的命名空间

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

例如:

<code>namespace N1.N2{class A {}class B {}}在语义上等效于namespace N1{namespace N2{class A {}class B {}}} </code>
登录后复制

Java

<code class="sourceCode java"><span class="kw">package</span> cn.org.web3d.x3dpad</code>
登录后复制

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

Objective-C

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

PHP

<code class="sourceCode php"><span class="kw">namespace</span> Vendor\Package\<span class="st">...</span>..</code>
登录后复制

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

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板