抽象類:提供了部分功能的實現,不能被例項化的類,
除了不能被例項化和含有抽象方法,其餘使用和正常類使用一樣。
特點:不能被例項化
抽象類裡面可以包含抽象方法,這個方法子類必須實現,而且本類不能使用
子類要實現抽象方法必須使用關鍵字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,抽象類必須被子類繼承,子類 如果不是抽象類 必須覆寫抽象類中的全部抽象方法 何來此問題呢?因為抽象類不能直接例項化,構造方法的作用就是例項化物件的時候,給物件初始化屬...