陣列VS列舉 類VS結構 抽象類VS介面

2021-06-02 13:59:47 字數 2461 閱讀 5867

//列舉

public enum language

public enum myenum : int

陣列是有序的,列舉enum是無序的。

結構struct是值型別。用來封裝小型相關變數組。結構可以繼承介面,不嫩被繼承,不能繼承類

結構還可以包含

建構函式、常量

、字段、方法

、屬性、索引器

、運算子、事件

和巢狀型別

,但如果同時需要上述幾種成員,則應當考慮改為使用類作為型別。

類和結構的區別

1 類是引用型別 結構是值型別

2 類可以繼承 結構不能繼承

3 類有預設的建構函式 結構沒有預設的不帶引數的建構函式 

在以下情況下,鑑於效能上的考慮,我們應該考慮使用struct來代替class:實現乙個主要用於儲存資料的結構時,可以考慮struct。 struct變數占有堆疊的空間,因此只適用於資料量相對小的場合。 結構陣列具有更高的效率。 提供某些和非託管**通訊的相容性。

普通類和抽象類

相同:都能繼承介面和抽象類。因為抽象類也能包含方法的實體

區別:抽象類可以有抽象方法,普通類不能有;

類和介面

共同:都可以從多個介面繼承

區別:1.類只能繼承乙個類。介面可以同時繼承自多個介面。

2。介面不能例項化(因為不能包含建構函式)

3.繼承乙個介面必須實現其所有的方法

抽象類和介面:

相同:1都不能例項化 2.都必須實現其所有的抽象方法

區別:1.類只能繼承乙個類。介面可以同時繼承自多個介面。

2.抽象類可以有方法體,抽象類不能喲方法體,不能包含方法的具體實現。

3.抽象類的方法可以包含public abstract修飾符,介面不能包含,因為預設就是

4.介面能被有些值型別繼承,但是,類只能作用與引用型別。如:結構可以繼承自介面,但是不能繼承自抽象類和類。

using system;

using system.collections.generic;

using system.linq;

using system.text;

set}

public int age

set

}public bool ***

set

}//建構函式

public classemployee(string name1,int age1,bool ***1)

}#endregion

#region 結構

struct structemployee

set}

public int age

set}

public bool ***

set}

//建構函式

public structemployee(string name1, int age1, bool ***1)

//static void main(string args)//}

#endregion

struct structemployee2 : jiekou

}#region 抽象類

public abstract class abstractclass:jiekou

set}

public int age

set

}public bool ***

set

}//不能被例項化,所以不能有建構函式

protected string getmsg(string msg)

protected abstract string getmsg_abstract(string msg);

protected abstract string getmsg_abstract2(string msg);

public void samplemethod()

}#endregion

#region 介面

inte***ce jiekou

public inte***ce jiekou2

#endregion

#region 測試類

public class testclass:abstractclass,jiekou,jiekou2

//必須實現父抽象類的類每個抽象方法

protected override string getmsg_abstract2(string msg)

//不需要override關鍵字 同樣必須實現介面每個方法

public void samplemethod()

static void main(string args)

}#endregion

}

類VS介面VS抽象類

size large align center 類vs介面vs抽象類 align size 一 類例項 public class student 二 介面 例項 public inte ce student 三 抽象類 例項 public inte ce student 四 分析 從形式上來看,抽象...

java學習筆記 介面VS抽象類

介面抽象類 對誰抽象 對動作的抽象 對根源的抽象 方法只能做方法申明 方法申明,也可以做方法實現 變數定義的變數只能是公共的靜態的常量 普通變數 子類是否需要全部實現 實現介面的時候,如不能全部實現介面方法,那麼該類也只能為抽象類。抽象方法必須全部被子類所實現,如果子類不能全部實現父類抽象方法,那麼...

VS 類快捷鍵

生成類的建構函式 輸入 ctrl,按兩下 tab 鍵 快速新增屬性 輸入prop,按2下tab鍵 新增摺疊 輸入reg,按2下tab鍵,快速輸入 region 輸入class,按下2次tab建,快速輸入類定義 定義乙個類,滑鼠放到ihttphandler上,點 顯示可能修補程式 實現介面就自動生成了...