1.抽象類
abstract修飾的類就是抽象類(父類通常是抽象的,不能例項化)
格式:public abstract class a
特徵:①不可以直接例項化
②可以有構造方法,可以有屬性(留給子類使用),可以有自定義方法
③可以有抽象方法,子類必須重寫抽象父類的抽象方法,除非子類也是抽象類
應用場景:是乙個 (is a) a extends [abstract] b 用於重用
舉個例子:a為抽象父類,a定義了乙個方法:會計算。b,c為子類,d類想用類b和類c的方法。b會加法,c會減法。d也想會計算。
public abstract class a()
public abstract int cal(int a,int b);
}public class b extends a()
}public class c extends a()
}public class d
}//測試類
public class test
}
2.介面
格式:public inte***ce a
特點:①不可以直接例項化
②不能有構造方法,屬性預設為公共的靜態的常量;方法預設為公共的抽象的,不能有方法體
③實現類(子類)implements必須重寫父介面的所有方法,除非子類是抽象類或介面
應用場景:有乙個(has a) a implements inte***ce b 用於擴充套件
(有乙個類a,類b想擴充套件a的功能,那麼先新建乙個介面;再新建乙個新的類(b)繼承原來的類(a),再實現乙個介面)
舉個例子:
給calculator定義了乙個帶參方法
public class calculator }
//calculator2類想擴充套件calculator類的方法,需要先新建乙個介面multiadd
public inte***ce multiadd
//calculator2類繼承calculator,實現multiadd
public class calculator2 extends calculator implements multiadd
return sum;
} }//測試類
public class test
}
物件導向 介面類 抽象類
python 沒有介面這個概念 介面類,抽象類 制定乙個規範.介面類,抽象類 python中就是一樣的 1,歸一化設計.2,制定乙個規範,凡是繼承我類的類,必須有我規定的方法.第一版class alipay def init self,money self.money money defpay se...
物件導向 OOP中的抽象類,介面以及多型
抽象類與抽象方法 1 什麼是抽象方法?沒有方法體 的方法,必須使用abstract關鍵字修飾,這樣的方法,我們稱之為抽象方法。abstract function say 2 什麼是抽象類?包含抽象方法的類就是抽象類,抽象類必須使用abstract關鍵字修飾 abstract class person...
物件導向 OOP中的抽象類,介面以及多型
抽象類與抽象方法 1 什麼是抽象方法?沒有方法體 的方法,必須使用abstract關鍵字修飾,這樣的方法,我們稱之為抽象方法。abstract function say 2 什麼是抽象類?包含抽象方法的類就是抽象類,抽象類必須使用abstract關鍵字修飾 abstract class person...