当前位置:编程学习 > C#/ASP.NET >>

请问什么是命名空间

请问什么是命名空间 --------------------编程问答-------------------- sofa --------------------编程问答-------------------- 2 --------------------编程问答-------------------- 命名空间是类的逻辑分组,它组织成一个层次结构——逻辑树。这个树的根是System。 --------------------编程问答-------------------- 楼主太懒了... --------------------编程问答-------------------- 命名空间(namespace)是C++中的新增特性.名字空间创建了一个用于声明的区域,程序的各种要素都可以放在这个区域中.在不同名字空间中声明的程序要素是相互独立的.在组织大型程序的时候,名字空间很有用的.using语句告诉编译器在程序中需要使用的名字空间,一般以std为例,整个C++标准库都是在这个名字空间中声明的.通过使用std名字空间,可以简化在程序中访问标准库的方法. --------------------编程问答-------------------- 简单的问题 能解释清楚 也是猩猩们的功力了  佩服  我一两句话说不清楚 --------------------编程问答-------------------- using ****** --------------------编程问答-------------------- 命名空间 就是XX省.XX市.XXX.XXX --------------------编程问答-------------------- up upstairs 2
--------------------编程问答-------------------- 名字空间是为了防止名字污染在标准 C++ 中引入的。
它可以将其中定义的名字隐藏起来,不同的名字空间中可以有相同的名字而互不干扰,使用时用域操作符(::)来引用。
namespace 名字
{
   定义的数据;
   定义的函数;
   也可以是定义的类。。。。。。


}

在应用的时候 使用这些数据和函数名称太麻烦
给定义在同一德的名字空间内
不用繁琐的去重新书写和定义
用名字空间就可以了
我觉得有点像类  又有点像 头文件  

使用方法有以下三种:
1> using namespace sdm;
然后你就可以使用变量temp:
temp=9;
还可以使用sdm中的其他每一个成员。
2>using sdm::temp;
在这个文件中只能使用sdm中的temp这个变量。
3>你在使用时直接使用sdm::temp:
cout<<sdm::temp<<endl;
使用其它的成员也这样调用。

--------------------编程问答-------------------- sunjiancn(狗蛋) ( ) 信誉:100    Blog   加为好友  2007-4-28 17:09:13  得分: 0  
 简单的问题 能解释清楚 也是猩猩们的功力了  佩服  我一两句话说不清楚

  
 
我来试试一两句行不行~~~


解释:把类比喻成文件的话,命名空间就是文件夹。没有文件夹的话,文件照样可以工作,但是就容易出现“重名”的问题,而且不好组织多个文件。







清楚不? --------------------编程问答-------------------- 而上面各位说的using XXX 相当于文件夹和文件就是 DOS命令  CD XXX 

^_^ --------------------编程问答-------------------- 请问什么是命名空间

命名空间是类的逻辑分组,它组织成一个层次结构——逻辑树。这个树的根是System。

那又请问什么是逻辑分组?逻辑树?根?

我觉得楼上达人们说的都比书上易懂,不如再解释解释

--------------------编程问答-------------------- 这也问 ?
--------------------编程问答-------------------- 类似于JAVA中的包 --------------------编程问答-------------------- System.Windows.Forms就是一个命名空间
--------------------编程问答-------------------- 一个空间,里面有很多生命,这些生命是没有名字的,所以要给他们命名,故叫命名空间。 --------------------编程问答-------------------- 管理类库的包. --------------------编程问答-------------------- 如果没有命名空间,外部引入的com组件的名字经常和.net组件在名字上发生冲突,有命名空间就可以消除这个冲突进行区分。 --------------------编程问答-------------------- 就简单的理解为一个包,一个路径,你打开一层层的包装,然后去寻找数据,凡是包括在此命名空间的数据和方法我们都可以直接调用其名字,而不用把它的具体的命名空间写出来。从某种程度上来说是一个相对路径的问题。这仅仅是我的理解。哈 --------------------编程问答-------------------- 对初学者来说  是不太好理解  
按我所理解的说吧    举个例子   你定义 了一个变量   在一个方法里定义两个 可以吗?  当然不可以啦  但是在重载的方法里  定义两个可以么? 回答是肯定的  这是因为 变量是以方法为单元(或是说域)存取的
这时想到类  它是以什么来划分的呢  这时就引入了命名空间  在一个命名空间中能存在两个相同的类  么  试试吧  呵呵 --------------------编程问答-------------------- http://tech.163.com/special/000915SN/LanguageC.html --------------------编程问答-------------------- 楼主,你太有才了!I 服了 U --------------------编程问答-------------------- 解释:把类比喻成文件的话,命名空间就是文件夹。没有文件夹的话,文件照样可以工作,但是就容易出现“重名”的问题,而且不好组织多个文件。


该结贴了吗?

以便下次别人愿意回答你的问题 --------------------编程问答--------------------
.NET Framework 类库由命名空间组成。每个命名空间都包含可在程序中使用的类型:类、结构、枚举、委托和接口。

命名空间提供范围:两个同名的类只要位于不同的命名空间并且其名称符合命名空间的要求,就可以在程序中使用它们。命名空间名称是类型的完全限定名 (namespace.typename) 的一部分。

所有 Microsoft 提供的命名空间都是以名称 System 或 Microsoft 开头的。
--------------------编程问答-------------------- 这个简单啊,网上搜一下就得到答案了. --------------------编程问答-------------------- --------------------编程问答-------------------- 比如有人向你打听前面一个美女是谁,你回答: "我老婆";

其中:"我"字可以映射到每一个人,这样,就会让人产生误会,

但是呢,这个字是从你的嘴里说出来,那此时"我"就是相对于你名下的,指的是你~

所以,在使用某个类的时候都要加上using的引用,告诉系统具指是谁名下的类~ --------------------编程问答-------------------- 命名空间中的方法应该是类的实例吧,那么命名空间如何通过简单的名字引用就能调用类的方法呢?
--------------------编程问答-------------------- 一个包含函数和对象,方法的库集合,可以是开发软件自带的,也可以是编程人士自己创建的. --------------------编程问答-------------------- jie fen  --------------------编程问答--------------------
引用 11 楼 syeerzy 的回复:
解释:把类比喻成文件的话,命名空间就是文件夹。没有文件夹的话,文件照样可以工作,但是就容易出现“重名”的问题,而且不好组织多个文件。 


清楚不?

正解 --------------------编程问答-------------------- 怎么都回答不完全啊。怎样才能调用它啦
--------------------编程问答-------------------- 楼主是来散分的吧 --------------------编程问答-------------------- 顶,不懂 --------------------编程问答-------------------- 不懂~~~~~~~~~~~1!! --------------------编程问答-------------------- 命名空间(英语:Namespace)表示标识符(identifier)的上下文(context)。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。

例如,设Bill是X公司的员工,工号为123,而John是Y公司的员工,工号也是123。由于两人在不同的公司工作,可以使用相同的工号来标识而不会造成混乱,这里每个公司就表示一个独立的命名空间。如果两人在同一家公司工作,其工号就不能相同了,否则在支付工资时便会发生混乱。

这一特点是使用命名空间的主要理由。在大型的计算机程序或文档中,往往会出现数百或数千个标识符。命名空间(或类似的方法,见“命名空间的模拟”一节)提供一隱藏區域標識符的機制。通过将逻辑上相关的标识符组织成相应的命名空间,可使整个系统更加模块化。

在编程语言中,命名空间是一种特殊的作用域,它包含了处于该作用域内的标识符,且本身也用一个标识符来表示,这样便将一系列在逻辑上相关的标识符用一个标识符组织了起来。许多现代编程语言都支持命名空间。在一些编程语言(例如C++和Python)中,命名空间本身的标识符也属于一个外层的命名空间,也即命名空间可以嵌套,构成一个命名空间树,树根则是无名的全局名空间。

函数和类的作用域可被視作隱式命名空间,它們和可見性、可訪問性和对象生命周期不可分割的联系在一起。
--------------------编程问答-------------------- 类似java中的包。
补充:.NET技术 ,  其他语言
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,