一周学C#_第5天

命名空间

1          问题

越大的程序包含的名字越多

越多的名字——越大的可能性导致命名冲突

你是怎样命名以反映结构

显示的前缀不是一个很好的解决方法

sealed class Book{...}

sealed class GUIBook{...}//这是传统的命名方法

2          解决的方法

一个命名空间是一个逻辑的命名系统

命名空间表示一个范围

任何.cs文件中都可以在任一命名空间中插入类

单独的一个.cs文件可以访问多个命名空间

namespace GUI

{

sealed class Book

{

...

}

}//这是【命名空间】的解决办法

使用命名空间的方法可以反映程序中的逻辑关系。

上面的例子说明你中GUI命名空间声明了一个类,叫Book,而不是使用GUIBook这个长名字。

3          嵌套的命名空间

一个命名空间可以包含其他的命名空间

使用嵌套来反映程序的结构

命名空间总是隐含为public

namespace RainForest

{

namespace GUI

{

sealed class Book

{

...

}

}

}

namespace RainForest.GUI

{

sealed class Book

{

...

}

}

【注意】上面两个程序是等价的。

命名空间可以包含——类和其他的命名空间,但是不能包含数据。

嵌套的命名空间之间的结构反映了程序组织的逻辑结构。

命名空间隐含为public,也就是说命名空间的声明不能包含任何访问修饰符,连public也不能加。

命名空间之所以隐含为public,是因为这样任何一个程序的任何一部分都可以访问它。

还有必须注意,因为命名空间是隐含为public,所以它的命名应该使用PascalCase命名规则,即所有单词的首字母大写。

嵌套的命名空间可以非常有效的组织大型程序的逻辑结构,但是每一层都重复键入关键字namespace的话,比较繁琐,你可以像上面那样使用简写。

4          全名

命名空间反映的是逻辑结构

带点的全名称是冗长和讨人厌的

但它比不带点的名字好

namespace RainForest.GUI

{

sealed class Book

{

...

private System.Collections.Hashtable pages;

}

}

命名空间的使用可以避免命名冲突,但是它会导致名字的长度增加。

5          using标记

using标记是类在命名空间中可见

只能在一个命名空间的开头使用

namespace RainForest.GUI

{

using System.Collections;

...

sealed class Book

{

...

private Hashtable pages;

}

}

using标记只能用在命名空间的开头,放在任何类声明语句的前头。注意using标记也可以放在.cs文件的开头。

6          引用别名

【using <别名>】会产生一个别名,它能用于:

u 类或命名空间;

u 只能被用在命名空间的开头。

namespace RainForest.GUI

{

using Hashtable=System.Collections.Hashtable;

sealed class Book

{

...

Hashtable pages;

}

}

转载于:https://www.cnblogs.com/lizunicon/archive/2009/02/02/1382297.html

一周学C#第五天——命名空间相关推荐

  1. python能开发什么产品_三周学 Python ?不,三周做个产品

    我的同事在看到毫无开发经验的我用三周时间,不但从零基础用上了 Python,还做出了一个客户关系管理系统,强烈邀请我分享经验.惶恐,因为我并没有出色的智商,也没有觉得三周学 Python 是一个体现自 ...

  2. 一周学C#之第4天——语句

    一周学C#_第4天 语句 1          语句 声明语句 表达式语句 块 是语句的一个无名集合 包含在{}之间 声明语句;//必须要有分号 表达式语句;//必须要有分号 { 语句; 语句; .. ...

  3. Python可以这样学(第五季:Socket编程)-董付国-专题视频课程

    Python可以这样学(第五季:Socket编程)-1585人已学习 课程介绍         董付国老师系列教材<Python程序设计(第2版)>(ISBN:9787302436515) ...

  4. 合肥工业大学机器人技术五十六题

    合肥工业大学机器人技术五十六题 题目要求 //拿球后行为,利用已有 Worldmodel(21) (1)在 playOn 模式下,拿到球以后朝前方快速带球. (2)在 PlayOn 模式下,拿到球以后 ...

  5. 五年级计算机教案及反思,2014-2015学年度下册五年级信息技术教案(有教学反思).doc...

    2014-2015学年度下册五年级信息技术教案(有教学反思) 课题扫描识别快又准备课 方式□集体 √个人课时分配1课时问题收集与学情分析学生对计算机很熟悉,但对计算机的某些功能并不了解. 学生很少见过 ...

  6. 互联网神经学系列第五篇:研究大脑中的谷歌,脸书和华为思科路由,脑互联网生理学

    本文是互联网神经学系列第五篇-"大脑中的类互联网应用和结构,脑互联网生理学" 一.人类大脑研究的困境 大脑的秘密一直是科学皇冠上最明亮的宝石之一,但在两千年前,人们确连它的重要意义 ...

  7. E-捡贝壳 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)

    E-捡贝壳 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛) 小明来到一片海滩上,他很喜欢捡贝壳,但他只喜欢质量为x的倍数的贝壳. 贝壳被排列成一条直线,下标从1到n编号,小明打算从编号 ...

  8. (素材源码) 猫猫学IOS(五)UI之360等下载管理器九宫格UI

    猫猫分享,必须精品 先看效果 代码学习地址: 猫猫学IOS(五)UI之360等下载管理器九宫格UI 猫猫学IOS(五)UI之360等下载管理器九宫格UI http://blog.csdn.net/u0 ...

  9. 讲透学烂二叉树(五):分支平衡—AVL树与红黑树伸展树自平衡

    简叙二叉树 二叉树的最大优点的就是查找效率高,在二叉排序树中查找一个结点的平均时间复杂度是O(log₂N): 在<讲透学烂二叉树(二):树与二叉/搜索/平衡等树的概念与特征>提到 二叉排序 ...

最新文章

  1. ANDROID中ACTIVITY间的数据传递
  2. 2018,腾讯110,感谢有你
  3. css 相对单位rem详解
  4. ubuntu之在ubuntu16.04中搭建gitlab服务器
  5. asp数据分页显示技术(上下页版)
  6. 怎么切麻花槽_水电怎么安装?这几点需牢记!
  7. Apache Web服务器安全配置全攻略
  8. java无法解析类型数据,”无法解析类型 这是简介引用的类文件要求 从必需的 .class 文件间接引用了“——解决方法...
  9. 记一次网站服务器搬迁实录
  10. 《一罐猪油》——迟子建
  11. 计算机临时保存信息,Windows临时文件夹是什么,Windows临时文件夹保存位置在哪里?...
  12. 【ZT】iSpring Free Cam – 免费易用的「录制屏幕」工具 [Windows]
  13. 技术人攻略访谈四十|刘睿民:数据库战国时代,我不跟你们玩政治!
  14. 全宇宙最强AI 聊天机器人模型ChatGPT惊艳来袭,你还不上车?居然能写演讲稿和帮忙写代码
  15. java位运算符(、|、~、^、、 )
  16. 人工智能基础知识总结
  17. 1.通过PADS Logic创建原件类型和逻辑封装
  18. gcc 内联汇编用法介绍
  19. 分布式任务xxl-job调度中心安装说明
  20. point-wise element-wise

热门文章

  1. MySQL笔记-Slave_IO_Running:No【Could ... ... in binary log index file (server_errno=1236)】
  2. MySQL笔记-死锁原理与分析及InnoDB中如何减少死锁
  3. Qt文档阅读笔记-Qt Quick Controls - Wearable Demo实例解析
  4. Maven工作笔记-在内网环境下开发Spring Boot(使用IDEA)
  5. Qt工作笔记-让界面飞一会(让界面旋转出来)
  6. C++ STL vector的输出
  7. 数据结构-排序基础代码
  8. C/C++ OpenCV之Canny边缘检测
  9. html标签之img,input标签
  10. c语言程序设计夏宽理第三版答案,(100)西南大学2021计算机考研数据速览(特别更新版),民族脊梁袁隆平院士的母校!...