Home >Backend Development >PHP Tutorial >几种常见语言的命名空间(Namespace)特点

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

WBOY
WBOYOriginal
2016-06-13 12:29:041230browse

几种常见语言的命名空间(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的域名来防身。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:讯息系统设计与实现Next article:php读取zip诠释