namespace命名规则(关于命名空间的问题)
本文目录
- 关于命名空间的问题
- C++语言合法标识符
- 谁能告诉我c++文件名的命名规则是怎样的麻烦说详细点
- c#中 常用的命名规范
- 从来没有学过java,有没有人能帮我解读下下面的程序啊比如,package是干什么的之类的我有学过C++
关于命名空间的问题
具体的话,可以查查msdn,一下是帮你搜了点资料,希望对你有帮助命名空间 (namespace) 将相关的类型进行分组的逻辑命名方案。.NET Framework 使用分层命名方案,将类型分为相关功能的逻辑类别,如 ASP.NET 技术或远程处理功能。设计工具可以使用命名空间,使开发人员在他们的代码中浏览和引用类型更为方便。单个程序集可以包含其分层名称具有不同命名空间根的类型,而且逻辑命名空间根可以跨多个程序集。在 .NET Framework 中,命名空间在逻辑设计时提供命名方便,而程序集在运行时确定类型的命名范围。 关于命名空间可以简单理解成: 全世界的编程人员,在给对象命名时,一般都会用一些单词的简写之类,所以很有可能出现多个函数拥有着不同的功能却有相同的名称。以前解决这个问题的老方法是:大家给自己的每一个对象都加上一个独有的前缀,例如:mylib12345_cout 之类,但这样的做法,无论是在使用时还是修改时都很不方便,所以C++引入了命名空间来解决该问题。 举个形象一点的例子: 命名空间就像一个文件夹,其内的对象就像一个个文件,不同文件夹内的文件可以重名。在使用重名的文件时,只需要说明是哪个文件夹下的就行了。 就像:using namespace std; 其实就是告诉编译器,这行代码之后用到的 cout、cin 等函数都是 std 这个命名空间内定义的。 另外顺便提一下,命名空间也并没有解决所有问题,它只是使发生命名冲突的机会变小了许多而已。 命名空间提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名空间中包含它,创建一个逻辑组合,告诉使用类的其他开发人员这两个类是如何相关的以及如何使用它们: namespace CustomerPhoneBookApp { using System; public struct Subscriber { // Code for struct here... } } 把一个类型放在命名空间中,可以有效地给这个类型指定一个较长的名称,该名称包括类型的命名空间,后面是句点(.)和类的名称。在上面的例子中,Subscriber结构的全名是CustomerPhoneBookApp.Subscriber。这样,有相同短名的不同的类就可以在同一个程序中使用了。 也可以在命名空间中嵌套其他命名空间,为类型创建层次结构: namespace Wrox { namespace ProCSharp { namespace Basics { class NamespaceExample { // Code for the class here... } } } } 每个命名空间名都由它所在命名空间的名称组成,这些名称用句点分隔开,首先是最外层的命名空间,最后是它自己的短名。所以ProfessionalCSharp命名空间的全名是Wrox.ProCSharp,NamespaceExample类的全名是Wrox.ProCSharp.Basics.NamespaceExample。 使用这个语法也可以组织自己的命名空间定义中的命名空间,所以上面的代码也可以写为: namespace Wrox.ProCSharp.Basics { class NamespaceExample { // Code for the class here... } } 注意不允许在另一个嵌套的命名空间中声明多部分的命名空间。 命名空间与程序集无关。同一个程序集中可以有不同的命名空间,也可以在不同的程序集中定义同一个命名空间中的类型。 using语句 显然,命名空间相当长,键入起来很繁琐,用这种方式指定某个特定的类也是不必要的。如本章开头所述,C#允许简写类的全名。为此,要在文件的顶部列出类的命名空间,前面加上using关键字。在文件的其他地方,就可以使用其类型名称来引用命名空间中的类型了: using System; using Wrox.ProCSharp; 如前所述,所有的C#源代码都以语句using System;开头,这仅是因为Microsoft提供的许多有用的类都包含在System命名空间中。 如果using指令引用的两个命名空间包含同名的类,就必须使用完整的名称(或者至少较长的名称),确保编译器知道访问哪个类型,例如,类NamespaceExample同时存在于Wrox.ProCSharp.Basics和Wrox.ProCSharp.OOP命名空间中,如果要在命名空间Wrox.ProCSharp中创建一个类Test,并在该类中实例化一个NamespaceExample类,就需要指定使用哪个类: using Wrox.ProCSharp; class Test { public static int Main() { Basics.NamespaceExample nSEx = new Basics.NamespaceExample(); //do something with the nSEx variable return 0; } } 因为using语句在C#文件的开头,C和C++也把#include放在这里,所以从C++迁移到C#的程序员常把命名空间与C++风格的头文件相混淆。不要犯这种错误,using语句在这些文件之间并没有真正建立物理链接。C#也没有对应于C++头文件的部分。 公司应花一定的时间开发一种命名空间模式,这样其开发人员才能快速定位他们所需要的功能,而且公司内部使用的类名也不会与外部的类库相冲突。本章后面将介绍建立命名空间模式的规则和其他命名约定。 命名空间的别名 using关键字的另一个用途是给类和命名空间指定别名。如果命名空间的名称非常长,又要在代码中使用多次,但不希望该命名空间的名称包含在using指令中(例如,避免类名冲突),就可以给该命名空间指定一个别名,其语法如下: using alias = NamespaceName; 下面的例子(前面例子的修订版本)给Wrox.ProCSharp.Basics命名空间指定别名Introduction,并使用这个别名实例化了一个NamespaceExample对象,这个对象是在该命名空间中定义的。它有一个方法GetNamespace(),该方法调用每个类都有的GetType()方法,以访问表示类的类型的Type对象。下面使用这个对象来返回类的命名空间名: using System; using Introduction = Wrox.ProCSharp.Basics; class Test { public static int Main() { Introduction.NamespaceExample NSEx =new Introduction.NamespaceExample(); Console.WriteLine(NSEx.GetNamespace()); return 0; } } namespace Wrox.ProCSharp.Basics { class NamespaceExample { public string GetNamespace() { return this.GetType().Namespace; } } } 在XML中使用命名空间的例子: 一,什么是命名空间? 命名空间是唯一标识XML文档中的元素和实体的信息集合,通过特定URL关联XML,解决命名冲突 。 DTD不支持命名空间的所有功能。但XML Schema支持。 二,命名空间的使用 1,声明和使用命名空间 将前缀和URL关联,使用xmls属性定义命名空间别名。 语法: xmls:前缀名 = “命名空间的URL” 名字空间的前缀名可以是不包含冒号的任何合法XML名 称。 把同一命名空间的URL关联到不同前缀是毫无意义的事情~! 解析器并不解析URL真正的内***隐藏网址*** (1),在根元素中声明命名空间 例子: 《?xml version = "1.0" encoding = "gb2321"?》 ***隐藏网址******隐藏网址*** 《i:info 》 《i:name》张三《/i:name》 《i:sex》男《/i:sex》 《/i:info》 《g:grade》 《g:chinese》88《/g:chinese》 《g:math》90《/g:math》 《/grade》 《/student》 (2),在元素中声明命名空间 《?xml version = "1.0" encoding = "gb2321"?》 《type:student ***隐藏网址******隐藏网址*** 《g:chinese》88《/g:chinese》 《g:math》90《/g:math》 《/grade》 《/type:student》 2,属性和命名空间 (1),属性是属于特定的元素,除非加前缀,否则属性属于他们的元素的命名空间。 (2),一个元素不可以具有相同名称的属性,但可以包含2个名称相同但属于不同命名空间的属 性。 例子: 《?xml version = "1.0" encoding = "gb2321"?》 ***隐藏网址******隐藏网址*** 《i:info id = 1001, g:id = 2001》 《i:name》张三《/i:name》 《i:sex》男《/i:sex》 《/i:info》 《g:grade id=2001》 《g:chinese》88《/g:chinese》 《g:math》90《/g:math》 《/grade》 《/student》 3,默认命名空间 可以为元素和其子元素指定一个默认的命名空间,使用没有前缀的xmls属性将默认空间附加给元 素和子元素。 则默认元素及其子元素在默认空间中。 属性不在默认命名空间中,必须明确添加 前缀。即使拥有属性的元素在某个命名空间中,没有前缀的属性也不在该命名空间中。 ***隐藏网址******隐藏网址*** 《?xml version = "1.0" encoding = "gb2321"?》 《type xmls ="www.type.com"》 ***隐藏网址*** 《info》 《name》张三《/name》 《sex》男《/sex》 《/info》 《grade》 《chinese》88《/chinese》 《math》90《/math》 《/grade》 《/student》 ***隐藏网址*** 《name》李四《/name》 《sex》男《/sex》 《/teacher》 《/type》 不使用默认命名空间 《?xml version = "1.0" encoding = "gb2321"?》 ***隐藏网址*** 《s:student 》 《s:info》 《s:name》张三《/s:name》 《s:sex》男《/s:sex》 《/s:info》 《s:grade》 《s:chinese》88《/s:chinese》 《s:math》90《/s:math》 《/s:grade》 《/s:student》 《t:teacher》 《t:name》李四《/t:name》 《t:sex》男《/t:sex》 《/t:teacher》 《/ty:type》***隐藏网址*** 《?xml version = "1.0" encoding = "gb2321"?》 《type xmls ="www.type.com"》 《student》 《info》 《name》张三《/name》 《sex》男《/sex》 《/info》 《grade》 《chinese》88《/chinese》 《math》90《/math》 《/grade》 《/student》 《teacher》 《name》李四《/name》 《sex》男《/sex》 《/teacher》 《/type》 ***隐藏网址*** 定义。 《?xml version = "1.0" encoding = "gb2321"?》 《type xmls ="www.type.com" ***隐藏网址*** 《student》 《info》 《name》张三《/name》 《sex》男《/sex》 《/info》 《grade》 《chinese》88《/chinese》 《math》90《/math》 《/grade》 《/student》 《t:teacher》 《t:name》李四《/t:name》 《t:sex》男《/t:sex》 《/t:teacher》 《/type》 或 《?xml version = "1.0" encoding = "gb2321"?》 《type xmls ="www.type.com"》 《student》 《info》 《name》张三《/name》 《sex》男《/sex》 《/info》 《grade》 《chinese》88《/chinese》 《math》90《/math》 《/grade》 《/student》 ***隐藏网址*** 《name》李四《/name》 《sex》男《/sex》 《/teacher》 《/type》
C++语言合法标识符
C语言标识符是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义,标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写
扩展资料
在汇编语言里,标识符由字母、数字、下划线组成。标识符的命名规则是:由字母(大、小写皆可)、数字及下划线组成,且第一个字符必须是字母或者下划线,不能用具有意义的指令符号或者寄存器。在汇编语言中,一般用大写字母。
在python里,标识符有字母、数字、下划线组成。所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入,以双下划线开头的(__foo)代表类的私有成员。
参考资料 标识符_百度百科
谁能告诉我c++文件名的命名规则是怎样的麻烦说详细点
) 输出输入函数的头文件,con -- Console, io -- input,output, h -- head 里面有例如clrscr清除正文模式窗口函数,也就是清屏函数了!!! 还比如改变正文背景颜色等的函数!! 一般程序用 #include 《stdlib.h》,而头文件《process.h》可以省写。C++为了兼容C,所以头文件按照C的风格写也编译得过 例如 #include 《iostream.h》 #include 《math.h》 之类的 这里是把头文件的文件名写全了的,所以直接可以通过 而C++里面则使用了命名空间,即namespace, 而且把所有的库全部放在一个叫做std的标准命名空间中 使用这个命名空间就需要加using namespace std 而在头文件include的时候就可以直接写这个命名空间中的简写 例如 #include 《iostream》 #include 《cmath》 using namespace std;
c#中 常用的命名规范
命名规则: 布尔型 Is开头 全局变量 G开头 私有变量 F开头 单元名以 u开头 窗体名以 Frm开头 窗体对应的单元名用u+窗体名(要frm) 枚举类型的内容的名字必须包含枚举类型名称的简写 大小写混排,标志变量命名不用flag 常量以C开头,所有有意义数字用Const定义,写在uGvar中 其它非常量的单词间用大小写分割(不用下划线分割) 单词缩写保持一致,文件名、目标名有意义,不要用拼音 Dest目标 Src源,Psw密码,Inf信息,buf缓冲区,操作员Opt 局部变量的名称要有意义.不要用x,y,z,tmp等等(除用于For循环变量中可使用i,j,k,l,m,n). 方法中的内联方法用_开头 方法的命名.一般将其命名为动宾短语. 如GetRecordData();GetPath();CreateFile(); 格式规则: 在循环、逻辑分支部分写注释 case 分支 不多于两行 两格一缩进, 对齐只使用空格键,不使用TAB键 对于use系统单元的,写在interface的use部分。Use自己的单元的,写在implementation 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格, case语句下的情况处理语句也要遵从语句缩进要求。 源代码右边界为120,大于就分行写. 连接符统一加在行末,sql语句的字符串,开头空一格. 大括号"{"要新起一行 其它: 通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的。 在程序块的结束行右方加注释标记,以表明某程序块的结束 在sql语句中不要用’’’’+’dl’+’’’’,用^dl^代替 在程序编译以后不要存在任何的提示和警告,除非是特殊情况必须如此。
从来没有学过java,有没有人能帮我解读下下面的程序啊比如,package是干什么的之类的我有学过C++
package,就类似于c++中的namespace命名空间。而其中的import很明白了,就是导入系统包或者自己定义的包。再往下就是类的定义和方法定义了。
更多文章:
联想thinkpad x300(联想thinkpadx300案例分析)
2024年7月11日 16:16
cpu fan error(cpu fan error按f1)
2024年7月20日 12:23