OOP(物件導向)抽象類和介面

2021-10-24 22:28:03 字數 1215 閱讀 1355

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...