重拾C 教程 命名空間(Namespace)

2021-08-18 12:13:23 字數 2378 閱讀 6314

命名空間的設計目的是提供一種讓一組名稱與其他名稱分隔開的方式。在乙個命名空間中宣告的類的名稱與另乙個命名空間中宣告的相同的類的名稱不衝突。

命名空間的定義是以關鍵字namespace開始,後跟命名空間的名稱,如下所示:

namespace

namespace_name

為了呼叫支援命名空間版本的函式或變數,會把命名空間的名稱置於前面,如下所示:

namespace_name

.item_name

;

下面的程式演示了命名空間的用法:

using

system

;namespace

first_space}}

namespace

second_space}}

class

testclass

}

當上面的**被編譯和執行時,它會產生下列結果:

inside

first_space

inside

second_space

using關鍵字表明程式使用的是給定命名空間中的名稱。例如,我們在程式中使用system命名空間,其中定義了類 console。我們可以只寫:

console

.writeline

("hello there"

);

我們可以寫完全限定名稱,如下:

system

.console

.writeline

("hello there"

);

您也可以使用using命名空間指令,這樣在使用的時候就不用在前面加上命名空間名稱。該指令告訴編譯器隨後的**使用了指定命名空間中的名稱。下面的**演示了命名空間的應用。

讓我們使用 using 指定重寫上面的例項:

using

system

;using

first_space

;using

second_space

;namespace

first_space}}

namespace

second_space}}

class

testclass

}

當上面的**被編譯和執行時,它會產生下列結果:

inside

first_space

inside

second_space

命名空間可以被巢狀,即您可以在乙個命名空間內定義另乙個命名空間,如下所示:

namespace

namespace_name1

}

您可以使用點(.)運算子訪問巢狀的命名空間的成員,如下所示:

using

system

;using

somenamespace

;using

somenamespace

.nested

;namespace

somenamespace

}// 內嵌命名空間

namespace

nested}}

}

當上面的**被編譯和執行時,它會產生下列結果:

in

somenamespace

innested

1. using指令:引入命名空間

這是最常見的用法,例如:

using

system

;using

namespace1

.subnamespace

;

2. using static 指令:指定無需指定型別名稱即可訪問其靜態成員的型別

using

static

system

.math

;var=pi

;// 直接使用system.math.pi

3. 起別名

using

project=pc

.mycompany

.project

;

4. using語句:將例項與**繫結

using

(font

font3

=new

font

("arial"

,10.0f

),font4

=new

font

("arial"

,10.0f

))

**段結束時,自動呼叫font3和font4的dispose方法,釋放例項。

重拾C 教程 環境

在這一章中,我們將討論建立 c 程式設計所需的工具。我們已經提到 c 是 net 框架的一部分,且用於編寫 net 應用程式。因此,在討論執行 c 程式的可用工具之前,讓我們先了解一下 c 與 net 框架之間的關係。net 框架是乙個創新的平台,能幫您編寫出下面型別的應用程式 net 框架應用程式...

重拾C 教程 封裝

封裝被定義為 把乙個或多個專案封閉在乙個物理的或者邏輯的包中 在物件導向程式設計方 中,封裝是為了防止對實現細節的訪問。抽象和封裝是物件導向程式設計的相關特性。抽象允許相關資訊視覺化,封裝則使開發者實現所需級別的抽象。c 封裝根據具體的需要,設定使用者的訪問許可權,並通過訪問修飾符來實現。乙個訪問修...

重拾C 教程 列舉

列舉是一組命名整型常量。列舉型別是使用enum關鍵字宣告的。c 列舉是值型別。換句話說,列舉包含自己的值,且不能繼承或傳遞繼承。宣告列舉的一般語法 enum 其中,列舉列表中的每個符號代表乙個整數值,乙個比它前面的符號大的整數值。預設情況下,第乙個列舉符號的值是 0.例如 enum days 下面的...