多态:抽象类/接口
抽象類
什么是抽象類:不是實際存在的,抽象的
抽象類只能被繼承,無法實例化
抽象方法只存在抽象類中
抽象類中不一定只有抽象方法,也有普通存在方法【如何調用其中的普通方法:子類繼承,后實例化】
關鍵字:abstract
?
實際應用:
public abstract class ren
{
? public abstract string chifan()
}
抽象方法沒有函數體
實現: public override string chifan()
? ? ? {
? ? ? ? ? return "吃飯";
? ? ? ?}
接口
接口不是類 ,直接添加接口 ?,把class換成interface
接口比抽象類更靈活
接口里面不能有實際的方法
子類實現接口中的方法,不需要override關鍵字
string jineng ();
class man : ren ,gongzuo ,jineng ? ? ?
實現: public string jineng();
? ? ? ?{return ?" 寫字";}
?
構造函數(重要)
在類被實例化的時候調用的方法
實例化時執行的函數,可以設置該類的初始默認值
數據類型 名稱=new 數據類型();
數據類型 (); 就是構造函數
構造函數的默認內容是:
? ? ? ? ? ? ? ? ? ? ? ? ?public 函數名
? ? ? ? ? ? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
可以在里面設置默認內容
?
重載
overload
方法名稱一樣,方法參數不一樣,稱為重載
主要例子:console.writeline();19個重載。
?
?
?
?
靜態方法和靜態成員
關鍵字:static
作為了解就可以
非靜態方法需要實例化對象,通過對象來點出方法
靜態方法,不需要實例化對象,直接通過類名點出方法
轉載于:https://www.cnblogs.com/changxiaosen/p/6736784.html
總結
- 上一篇: 尘封十三载贵州龙开枪射杀武将手上的打火机
- 下一篇: es6模块与 commonJS规范的区别