抽象類和介面最核心的區別是什麼?(用12個字概括)

時間 2021-05-31 08:44:18

1樓:稽山的柚子

個人理解:

類:表明是什麼

介面:表明要幹什麼

比如:男人看、女人看、貓看、狗看

男人女人就是「人」

貓狗就是「動物」

「看」就是「要幹什麼」

所以男人女人屬於人類,貓狗屬於動物類

」看「 就是個介面

也就是說」介面「這個東西,讓看似八竿子打不著的一堆類,找到了他們的乙個共同點,也就是」看「這個都需要的功能

2樓:

設計思想不同,使用動機不同.

抽象類和介面設計的時候,設計思想不同.

設計抽象類是自下而上的過程,因為呼叫者子類需要某些屬性和特有行為,所以呼叫者繼承抽象類設計介面是自上而下的過程,介面規範某一行為,我某類需要這個行為,呼叫者實現某介面

開發者使用的時候,使用動機不同.

開發者繼承抽象類是為了使用抽象類的屬性和行為;

開發者實現介面只是為了使用介面的行為.

區別總結:

區別一:

抽象類只能單繼承,介面能多實現

區別二:

抽象類是乙個類,可以被任意許可權修飾符修飾,靜態和非靜態屬性,final和非final屬性,可以有抽象方法和非抽象方法;

介面只能被public,final修飾,只能有靜態方法,即使沒有顯示的宣告,而且是不可修改的;

區別三:

抽象的事物不同: 抽象類是對類的抽象,介面是對行為的抽象;

抽象類是對整個類抽象,包括屬性,行為;

介面是對類的行為(區域性)進行抽象;

區別四:

定義的時候,定義抽象類和介面的思想不同設計抽象類是自下而上的過程,我子類需要,所以我定義抽象類設計介面是自上而下的過程,我介面規範某一行為,我某類需要這個行為,我實現某介面;

核心區別:

呼叫者使用動機不同,實現介面是為了使用他規範的某乙個行為;

繼承抽象類是為了使用這個類屬性和行為.

再簡單點說:

我們知道抽象類是從子類中發現公共部分,然後泛化成抽象類,子類繼承該父類即可,但是介面不同。實現它的子類可以不存在任何關係,共同之處。例如貓、狗可以抽象成乙個動物類抽象類,具備叫的方法。

鳥、飛機可以實現飛Fly介面,具備飛的行為,這裡我們總不能將鳥、飛機共用乙個父類吧!所以說抽象類所體現的是一種繼承關係,要想使得繼承關係合理,父類和派生類之間必須存在"is-a" 關係,即父類和派生類在概念本質上應該是相同的。對於介面則不然,並不要求介面的實現者和介面定義在概念本質上是一致的, 僅僅是實現了介面定義的規則而已。

動作遊戲和格鬥遊戲最核心的區別是什麼?

地球防衛軍 動作遊戲的核心是行動,通過合理的行動,達到通關這個目的。格鬥遊戲的核心是爭鬥,通過技巧和心理上的爭鬥,達到擊敗對手這個目的。 藍海悅 這麼說吧,動作遊戲熱血無賴,格鬥遊戲街霸 熱血無賴除了精良的格鬥還有大量的劇情,跑酷還有開放或箱庭世界 但格鬥遊戲基本只注重格鬥,地圖特別小,可以多人玩或...

戀愛和婚姻最本質的區別是什麼?

緣圓 戀愛是激情,激情會消退。婚姻是實實在在過日子,落實到每乙個具體問題。戀愛時總想把最好的一面呈現給對方,婚姻生活中展現的是本真的自我, 天使在人間 談戀愛是浪漫的,感性的,衝動的,熱烈的,激烈的,不計後果的,而婚姻是平淡的,克制的,容忍的。進入婚姻首要的不是想怎樣把它過好,而是想如何能一輩子過下...

ENTP和ESTP最明顯的區別是什麼?

張子佾 沒有 最 明顯的區別,除非比對人數低於抽屜原理的下限。補充一類區別,是estp側重的是現實資源的擴張,而entp側重的是抽象可能性的擴張。這意味著,如果把極端性昇滿,estp會抗拒entp式的試錯,因為在現實層面廣泛 全面試錯大概率上會造成資源的區域性耗損,所以為顧全即有利益estp反而會顯...