你知道抽象類和介面嗎?

2021-08-20 19:42:15 字數 998 閱讀 4892

抽象類通常代表乙個抽象概念,它提供乙個繼承的出發點,當設計乙個新的抽象類時,一定是用來繼承的。

動物是乙個抽象類,貓,狗都可以繼承動物這個抽象類,現在又有乙個哈巴狗想繼承狗這個類,就需要把狗這個類變為抽象類。

1.抽象類不能例項化:「動物」例項化沒有意義;

2.抽象方法是必須被子類重寫的方法;

3.如果類中包含抽象方法,那麼類必須定義為抽象類;

4.讓抽象類擁有盡可能多的**,擁有盡可能少的資料;

介面是把隱式公共方法和屬性組合起來,以封裝特定功能的乙個集合。一旦類實現了介面,類就可以支援介面所指定的所有屬性和成員。

1.介面不能例項化,不能有構造方法和字段;

2.不能有修飾符,方法沒有實體;

3.不能宣告虛擬的或靜態的;

4.實現介面的類必須實現介面中的所有方法和屬性;

5.乙個類可以支援多個介面,多個類也可以支援相同的介面;

1.類是對物件的抽象,抽象類是對類的抽象,介面是對行為的抽象;

介面是對類的區域性(行為)進行的抽象,抽象類是對類整體(字段,屬性,方法)的抽象

2.如果行為跨越不同類的物件,可使用介面;對於一些相似的類的物件,用繼承抽象類;

貓,狗都是動物,讓他們去繼承動物這個抽象類,而飛機,麻雀,超人是不相干的類,叮噹和孫悟空也是不相干的類,但是又有共同點,前三個會飛,後兩個會變東西,所以讓他們去實現相同的介面

3.抽象類是從子類中發現了公共的東西,泛化出子類,然後子類繼承父類,而介面是根本不知子類的存在,方法如何實現還不確認;

先有乙個貓類,再有乙個狗類,觀察發現他們的類似之處,泛化出animal類,animal就是抽象類;而介面是,運動會的組辦方,策劃了很多比賽專案,但是不知到會有哪些動物來參加比賽,他們的實現行為也不得而知。所以抽象類是自底而上抽象出來的,而介面是自頂向下設計出來的

介面和抽象類

介面和抽象類 今天自學了一下介面,從第一次接觸介面又進一步理解介面的原理。想到介面或許我們更多的是想到和類的對比,而類中抽象類和介面又更為相似。現在我講下我對介面和抽象類的理解。如果單從具體 來看,對這兩個概念很容易模糊,甚至覺得介面就是多餘的,因為單從具體功能來看,除多重繼承外 c 抽象類似乎完全...

抽象類和介面

抽象類 1.是一種特殊的類,除了不能被例項化外,具有類得其他特性.2.抽象類的方法可以不宣告為abstract,此時可以實現方法提 如果宣告為abstract,則不可以實現方法體,只能宣告,如 public abstract int remove int i,int j 此時類必須宣告為抽象 3.乙...

抽象類和介面

1.抽象類 含有abstract修飾符的類即為抽象類。可用於實現 重用。抽象類與普通類的唯一區別 不能建立例項物件 允許有抽象方法,但不必須是抽象的。抽象類中定義的抽象方法必須在具體子類中實現,所以不能有抽象構造方法或抽象靜態方法 如果沒有全部實現抽象父類的抽象方法,子類也要定義為抽象型別。2.介面...