抽象類 介面 委託

2021-08-21 07:07:52 字數 1109 閱讀 4399

抽象類:提供了部分功能的實現,不能被例項化的類,

除了不能被例項化和含有抽象方法,其餘使用和正常類使用一樣。

特點:不能被例項化

抽象類裡面可以包含抽象方法,這個方法子類必須實現,而且本類不能使用

子類要實現抽象方法必須使用關鍵字override。

//抽象類 不能被例項化

public abstract class npc

public class yihao : npc

}class program

}

介面:同樣不能被例項化,包含的方法必須在繼承該介面的類上實現,乙個類可以繼承多個介面,

c#通過介面實現多繼承的問題。

特點:不能被例項化

介面的方法必須實現

介面中不能寫public,因為介面中的方法預設都是public

介面可以被繼承

介面中也可以實現多型

//抽象類 不能被例項化

public abstract class npc

//介面 介面裡面不能寫變數,只能寫方法,介面裡面的方法必須實現

public inte***ce enemy

//介面是可以繼承的

public inte***ce boss : enemy

public class yihao : npc,enemy,boss

//實現介面

public void gethit()

public void skill()

}class program

}

委託:int是儲存整數的變數型別,float是儲存浮點數的變數型別

委託是儲存方法的變數型別

特點:public delegate void func(int a); 引數型別和數量要一致

委託裡面可以儲存多個方法,當我們儲存多個方法的時候,會一次呼叫所有方法

public class person

public void say(int a)

public void eat(int b)

}class program

}

介面,抽象類

介面 用inte ce定義介面 由常量定義和方法定義兩部分組成 格式 修飾符 inte ce a extends b 在類中實現介面,方法名 返回值型別 引數的個數和型別必須與介面中完全一致 實現介面中所有方法 實現多個介面,中間用逗號分隔 抽象類包含抽象方法的乙個類 沒有足夠資訊描繪物件 用abs...

抽象類 介面

抽象類中的抽象方法禁止寫任何實現 1,a 抽象類不能被繼承 b 抽象方法不能有任何實現,一切實現都在子類中 c 抽象類中可以有非抽象方法,但是非抽象類絕對不能有抽象方法 class program public abstract class person public class chinese p...

抽象類 介面

1,包含乙個抽象方法的類必須是抽象類 2,抽象方法和抽象類都要使用abstract關鍵字宣告 3,抽象方法只需要宣告而不需要實現 4,抽象類必須被子類繼承,子類 如果不是抽象類 必須覆寫抽象類中的全部抽象方法 何來此問題呢?因為抽象類不能直接例項化,構造方法的作用就是例項化物件的時候,給物件初始化屬...