C 入門分享(五) 物件與類

2022-07-28 07:57:14 字數 1208 閱讀 1213

到目前為止,我們介紹了組成c#語言的主要模組,包括變數、資料型別和程式流語句 ,並簡要介紹了乙個只包含main()方法的完整小例子。但還沒有介紹如何把這些內容組合在一起,構成乙個完整的程式,其關鍵就在於對類的處理。

(一) 類與結構

類和結構實際上都是建立物件的模板,每個物件都包含資料,並提供了處理和訪問資料的方法。類定義了類的每個物件(稱為例項)可以包含什麼資料和功能。例如,如果乙個類表示乙個顧客,就可以定義欄位customerid、 firstname、lastname和address, 以包含該顧客的資訊。還可以定義處理在這些欄位中儲存的資料的功能。接著,就可以例項化表示某個顧客的類的物件,為這個例項設定相關欄位的值,並使用其功能。

結構與類的區別是它們在記憶體中的儲存方式、訪問方式(類是儲存在堆(heap)上的引用型別,而結構是儲存在棧(stack)上的值型別)和它們的一些特徵(如:結構不支援繼承)。較小的資料型別使用結構可提高效能。在語法上,結構與類非常相似,主要的區別是使用關鍵字struct代替class來宣告。

對於類和結構,都使用關鍵字new來宣告例項,這個關鍵字建立物件並對其進行初始化:

函式成員提供了操作類中資料的某些功能,包括方法、屬性、建構函式和終結器(finalizer)、運算子以及索引器。

(2)屬性

在 c# 中定義屬性,可以使用下面的語法:

例如:

(3)建構函式

宣告基本建構函式的語法就是宣告乙個與包含的類同名的方法 ,但該方法沒有返回型別:

一般情況下,如果沒有提供任何建構函式,編譯器會在後台建立乙個預設的建構函式。這是乙個非常基本的建構函式,它只能把所有的成員字段初始化為標準的預設值,這通常就足夠了,否則就需要編寫自己的建構函式。

一般使用this關鍵字區分成員欄位和同名的引數。

注意,可以把建構函式定義為private 或 protected,這樣不相關的類也不能訪問它們。

而編寫靜態建構函式的乙個原因是,類有一些靜態欄位或屬性,需要在第一次使用類之前,從外部源中初始化這些靜態欄位和屬性。

C 入門(7) 物件

類 屬性 方法 類名的第乙個字母一般採用大寫,類宣告的末尾必須加上分號 c 允許在類裡宣告常量,但不允許對它賦值,除非建立乙個靜態常量。構造器 1 構造器的名字和它所在類的名字一樣 2 系統會在建立出某個新例項之後,立刻自動呼叫這個類的構造器 3 構造器永遠不返回任何值。如果沒有在類裡定義乙個構造器...

2 物件與類

在乙個檔案中,只能有乙個公共類,但是可以有任意數量的非公共類。final修飾的例項,必須在構造物件時初始化 初始化塊 在乙個類的宣告中,可以包含任意多的 塊。只要構造這個類的物件,這些塊就會被執行。class employee public employee public static void m...

C 類入門1 物件和類的介紹

物件導向是 oop 是特殊的 設計程式的概念性方法 包含以下特性 為了實現這些特性並且將這些特性組合在一起,c 所做的最重要的改進是提供了類。l 如何定義類 l 如何為類提供公有部分和私有部分 l 如何建立使用類資料的成員函式 l 建構函式和析構函式是什麼?是特殊的成員函式 建立和刪除屬於當前類的物...