一周学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#第五天——命名空间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库函数..........
- 下一篇: 今天阳光明媚