C 教程第六課 命名空間

2021-06-06 22:59:11 字數 4027 閱讀 7325

1.清單6-1. the c# station namespace: namespacecss.cs

// namespace declaration

using system;

// the c# station namespace

namespace csharp_station }}

說明清單6-1演示了如何建立乙個命名空間。把單詞"namespace"放在"csharp_station"之前,就建立了乙個命名空間。"csharp_station"命名空間內的大括號中包含了成員。

2.清單6-2 nested namespace 1: nestednamespace1.cs

// namespace declaration

using system;

// the c# station tutorial namespace

namespace csharp_station }}

} 說明

命名空間可以建立乙個**的組織結構。乙個良好的程式設計習慣是:用層次模式來組織你的命名空間。你可以把通用一些的名稱放在最頂層,裡層則放置一些專用一些的名稱。這個層次系統可以用巢狀的命名空間表示。清單6-2演示了如何建立乙個巢狀的命名空間。在不同的子命名空間內放置**,從而組織好你的**的結構。

3.清單6-3. nested namespace 2: nestednamespace2.cs

// namespace declaration

using system;

// the c# station tutorial namespace

namespace csharp_station.tutorial }}

說明清單6-3演示了另外一種編寫巢狀的命名空間的方法。在"csharp_station"和"tutorial"之間置入點運算子,表明這是巢狀的命名空間。結果同清單6-2。 相比而言,清單6-3 更易書寫。

4.清單6-4. calling namespace members: namespacecall.cs

// namespace declaration

using system;

namespace csharp_station }}

// program start class

class namespacecalling }}

// same namespace as nested namespace above

namespace csharp_station.tutorial }}

說明1.清單6-4 的例子演示了用完整的名稱指示,呼叫命名空間的成員。

乙個完整的名稱指示包括命名空間名,以及呼叫的方法名。程式的上半部分,在"csharp-station"命名空間內巢狀的命名空間"tutorial"中,定義了類"myexample1"及其方法"myprint1"。 main()方法中用完整的名稱指示:"tutorial.myexample1.myprint()" 來進行呼叫。 因為main()方法和tutorial命名空間位於同一命名空間內,如果使用"csharp_station"的全稱不是必需的。

2.清單6-4的下半部分,也是命名空間"csharp_station.tutorial"的一部分。

類"myexample1"和"myexample2"都屬於該命名空間。另外,也可以把它們分別寫入不同的檔案,同時它們仍然屬於同一命名空間。在main()方法中,呼叫"myprint2"方法時,採用了全稱:"csharp_station.tutorial.myexample2.myprint2()"。 在這裡,必須使用全稱中"csharp_station",因為"myexample2"定義在外部。

3.注意:這裡對兩個不同的類起了不同的名字:

"myexample1"和"myexample2"這是因為對於每個命名空間來說,其中的成員必須有唯一的名稱。 記住:它們都處於同一命名空間中,不能取名相同。方法"myprint1"和"myprint2" 名稱的不同僅僅是為了方便起見,即使同名也沒有問題,因為它們屬於不同的類。

5.清單6-5. the using directive: usingdirective.cs

// namespace declaration

using system;

using csharp_station.tutorial;

// program start class

class

usingdirective

}// c# station tutorial namespace

namespace csharp_station.tutorial }

說明 呼叫方法時,如果你不想打入全稱,可使用"using"指示符。在清單6-5中,有兩個"using"指示符。第乙個指示符是"using system",同本教程其它地方出現的"using"指示符相同。你不需要每次都打上"system",只需要打入該命名空間的成員方法名即可。在myprint()中,"console"是個"system"命名空間中的成員類,該類有個"writeline"的方法。該方法的全稱是: "system.console.writeline(...)"。

類似地,using指示符"using csharp_station.tutorial"可以讓我們在使用 "csharp_station.tutorial" 命名空間的成員時,無需打入全稱。所以,我們可以打入"myexample.myprint()"。如果不使用"using"指示符,每次實現該方法時,我們就得打入"csharp_station.tutorial.myexample.myprint()" 。

6.清單6-6. the alias directive: aliasdirective.cs

// namespace declaration

using system;

using cstut = csharp_station.tutorial.myexample; // alias

// program start class

class aliasdirective

// potentially ambiguous method.

static void myprint()

}// c# station tutorial namespace

namespace csharp_station.tutorial }}

說明1.有時,往往遇到取名較長的命名空間,而你可以把該名稱變短些。

這樣就增強了可讀性,還避免了同名的衝突。清單6-6 演示了如何使用別名指示符,建立別名的格式例子是:"using cstut = csharp_station.tutorial.myexample"。表示式"cstut"可以取代"csharp_station.tutorial.myexample",用在本檔案的任何地方。在main()方法中就使用了"cstut"。

2.在main()方法中,呼叫了"aliasdirective" 類中"myprint" 方法。

這與"myexample" 類的"myprint"方法同名。 雖然同名,這兩個方法都各自正確地進行了呼叫,原因是:"myexample"類的"myprint"方法用別名"cstut"表示。編譯器能夠準確地了解所要執行的是哪個方法。一旦漏掉了"cstut",編譯器將兩次呼叫"aliasdirective"類的"myprint"方法。

3.另外一方面,如果我們沒有建立別名指示符,而是新增了"using csharp_station.tutorial.myexample"之後,再呼叫myprint(),編譯器就會生成出錯資訊,因為它不知道究竟是呼叫. "csharp_station.tutorial.myexample.myprint()"方法呢?還是去呼叫"aliasdirective.myprint()"方法。所以使用命名空間是良好的程式設計習慣,可避免**中的衝突現象。

小結到現在為止,我們已經了解在命名空間中可以使用類,實際上,命名空間可以使用如下型別的資料:

類;結構;介面;列舉;**

在後面的課程中我們將詳細介紹這些資料型別。

概括來講,你已經了解了什麼是命名空間,如何定義自己的命名空間。如果你不想打入全稱,可以使用"using"指示符。一旦你想縮短命名空間的長名,可以使用別名指示符。另外,除了類之外,你也了解了命名空間可以使用的其他一些資料型別。

Android OpenGL教程 第六課

android opengl 教程 第六課紋理對映 在這一課裡,我將教會你如何把紋理對映到立方體的六個面。激動的時刻來了,載入了。複習一下android載入的知識。放乙個png到drawable裡面。新增乙個工具類,方便我們使用。這樣我們是不是可以直接用 bitmap mbitmap dataman...

C 基礎第六課

1.2.智慧型指標 注意智慧型指標中 的過載我們要注意 operator 這是乙個函式名 是一體的,執行的時候就是相當於 a.operator 引數 3.仿函式就是將系統的一些函式重寫 就像這樣設計乙個 add int 的類,然後過載 函式,在主函式中 定義乙個add物件,那麼 你寫乙個 int x...

第六課 字型

a.字型系列 font family times new roman times,serif b.字型樣式 font style normal 正常 正常顯示文字 font style italic 斜體 以斜體字顯示的文字 font style oblique 傾斜的文字 文字向一邊傾斜 和斜體非...