C 類和C 結構體的關係

2021-05-17 12:34:31 字數 765 閱讀 9333

c#類:類是c# 中功能最為強大的資料型別,類也定義了資料型別的資料和行為。然後,程式設計師可以建立作為此類的例項的物件。

c#結構體:結構體是輕量型的類,使用開銷相對於類較小。

c#類和c#結構體兩者的關係:

1.資料型別:類和結構體都是資料型別,類是引用型別,結構體是值型別。

2.繼承性:類可以繼承和被繼承,而結構體隱式繼承於object,不可以繼承(除介面以外)和被繼承

3.建構函式:類和結構體都有預設(無參)建構函式,只不過結構體不能顯示宣告預設(無參)建構函式,

4.欄位初始化:類可以對欄位宣告時賦值初始化,而結構體不可以(除const和static之外),結構體的字段必須在建構函式中進行初始化。

5.例項化:結構體例項化時可以不使用new,,如果不使用new,那麼在初始化所有字段之前,欄位將保持未賦值狀態且物件不可用。而類必須使用new進行例項化。

如何選擇c#結構體還是c#類   

討論了結構與類的相同之處和差別之後,下面討論如何選擇使用結構還是類:  

1.堆疊的空間有限,對於大量的邏輯的物件,建立類要比建立結構好一些  

2.結構表示如點、矩形和顏色這樣的輕量物件,例如,如果宣告乙個含有   1000   個點物件的陣列,則將為引用每個物件分配附加的記憶體。在此情況下,結構的成本較低。  

3.在表現抽象和多級別的物件層次時,類是最好的選擇 

4.大多數情況下該型別只是一些資料時,結構時最佳的選擇 ,struct 型別是一種值型別,通常用來封裝小型相關變數組,例如,矩形的座標或庫存商品的特徵。

C結構體 C 結構體 和 C 類的區別

c結構體 c 結構體基本相同,c 類主要是方法的實現。結構體是資料型別的集合 類是資料型別加方法的集合,基本如此,更注重方法。1.c的結構體和c 結構體的區別 1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。2...

C語言結構體 C 結構體和C 類的解析

1.c的結構體和c 結構體的區別 1.1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。1.2 c的結構體對內部成員變數的訪問許可權只能是public,而c 允許public,protected,private三...

C 類和結構的關係

主要聯絡 類和結構都是建立物件的模板,每個物件都包含資料,並提供了處理和訪問資料的方法。類定義了每個類物件 例項 可以包含什麼資料和功能。例如,如果乙個類表示乙個顧客,就可以定義欄位customerid firstname lastname和address,包含該顧客的資訊。還可以定義處理儲存在這些...