一周学C#第五天——命名空间
一周学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#第五天——命名空间相关推荐
- python能开发什么产品_三周学 Python ?不,三周做个产品
我的同事在看到毫无开发经验的我用三周时间,不但从零基础用上了 Python,还做出了一个客户关系管理系统,强烈邀请我分享经验.惶恐,因为我并没有出色的智商,也没有觉得三周学 Python 是一个体现自 ...
- 一周学C#之第4天——语句
一周学C#_第4天 语句 1 语句 声明语句 表达式语句 块 是语句的一个无名集合 包含在{}之间 声明语句;//必须要有分号 表达式语句;//必须要有分号 { 语句; 语句; .. ...
- Python可以这样学(第五季:Socket编程)-董付国-专题视频课程
Python可以这样学(第五季:Socket编程)-1585人已学习 课程介绍 董付国老师系列教材<Python程序设计(第2版)>(ISBN:9787302436515) ...
- 合肥工业大学机器人技术五十六题
合肥工业大学机器人技术五十六题 题目要求 //拿球后行为,利用已有 Worldmodel(21) (1)在 playOn 模式下,拿到球以后朝前方快速带球. (2)在 PlayOn 模式下,拿到球以后 ...
- 五年级计算机教案及反思,2014-2015学年度下册五年级信息技术教案(有教学反思).doc...
2014-2015学年度下册五年级信息技术教案(有教学反思) 课题扫描识别快又准备课 方式□集体 √个人课时分配1课时问题收集与学情分析学生对计算机很熟悉,但对计算机的某些功能并不了解. 学生很少见过 ...
- 互联网神经学系列第五篇:研究大脑中的谷歌,脸书和华为思科路由,脑互联网生理学
本文是互联网神经学系列第五篇-"大脑中的类互联网应用和结构,脑互联网生理学" 一.人类大脑研究的困境 大脑的秘密一直是科学皇冠上最明亮的宝石之一,但在两千年前,人们确连它的重要意义 ...
- E-捡贝壳 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)
E-捡贝壳 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛) 小明来到一片海滩上,他很喜欢捡贝壳,但他只喜欢质量为x的倍数的贝壳. 贝壳被排列成一条直线,下标从1到n编号,小明打算从编号 ...
- (素材源码) 猫猫学IOS(五)UI之360等下载管理器九宫格UI
猫猫分享,必须精品 先看效果 代码学习地址: 猫猫学IOS(五)UI之360等下载管理器九宫格UI 猫猫学IOS(五)UI之360等下载管理器九宫格UI http://blog.csdn.net/u0 ...
- 讲透学烂二叉树(五):分支平衡—AVL树与红黑树伸展树自平衡
简叙二叉树 二叉树的最大优点的就是查找效率高,在二叉排序树中查找一个结点的平均时间复杂度是O(log₂N): 在<讲透学烂二叉树(二):树与二叉/搜索/平衡等树的概念与特征>提到 二叉排序 ...
最新文章
- ANDROID中ACTIVITY间的数据传递
- 2018,腾讯110,感谢有你
- css 相对单位rem详解
- ubuntu之在ubuntu16.04中搭建gitlab服务器
- asp数据分页显示技术(上下页版)
- 怎么切麻花槽_水电怎么安装?这几点需牢记!
- Apache Web服务器安全配置全攻略
- java无法解析类型数据,”无法解析类型 这是简介引用的类文件要求 从必需的 .class 文件间接引用了“——解决方法...
- 记一次网站服务器搬迁实录
- 《一罐猪油》——迟子建
- 计算机临时保存信息,Windows临时文件夹是什么,Windows临时文件夹保存位置在哪里?...
- 【ZT】iSpring Free Cam – 免费易用的「录制屏幕」工具 [Windows]
- 技术人攻略访谈四十|刘睿民:数据库战国时代,我不跟你们玩政治!
- 全宇宙最强AI 聊天机器人模型ChatGPT惊艳来袭,你还不上车?居然能写演讲稿和帮忙写代码
- java位运算符(、|、~、^、、 )
- 人工智能基础知识总结
- 1.通过PADS Logic创建原件类型和逻辑封装
- gcc 内联汇编用法介绍
- 分布式任务xxl-job调度中心安装说明
- point-wise element-wise
热门文章
- MySQL笔记-Slave_IO_Running:No【Could ... ... in binary log index file (server_errno=1236)】
- MySQL笔记-死锁原理与分析及InnoDB中如何减少死锁
- Qt文档阅读笔记-Qt Quick Controls - Wearable Demo实例解析
- Maven工作笔记-在内网环境下开发Spring Boot(使用IDEA)
- Qt工作笔记-让界面飞一会(让界面旋转出来)
- C++ STL vector的输出
- 数据结构-排序基础代码
- C/C++ OpenCV之Canny边缘检测
- html标签之img,input标签
- c语言程序设计夏宽理第三版答案,(100)西南大学2021计算机考研数据速览(特别更新版),民族脊梁袁隆平院士的母校!...