1樓:稽山的柚子
個人理解:
類:表明是什麼
介面:表明要幹什麼
比如:男人看、女人看、貓看、狗看
男人女人就是「人」
貓狗就是「動物」
「看」就是「要幹什麼」
所以男人女人屬於人類,貓狗屬於動物類
」看「 就是個介面
也就是說」介面「這個東西,讓看似八竿子打不著的一堆類,找到了他們的乙個共同點,也就是」看「這個都需要的功能
2樓:
設計思想不同,使用動機不同.
抽象類和介面設計的時候,設計思想不同.
設計抽象類是自下而上的過程,因為呼叫者子類需要某些屬性和特有行為,所以呼叫者繼承抽象類設計介面是自上而下的過程,介面規範某一行為,我某類需要這個行為,呼叫者實現某介面
開發者使用的時候,使用動機不同.
開發者繼承抽象類是為了使用抽象類的屬性和行為;
開發者實現介面只是為了使用介面的行為.
區別總結:
區別一:
抽象類只能單繼承,介面能多實現
區別二:
抽象類是乙個類,可以被任意許可權修飾符修飾,靜態和非靜態屬性,final和非final屬性,可以有抽象方法和非抽象方法;
介面只能被public,final修飾,只能有靜態方法,即使沒有顯示的宣告,而且是不可修改的;
區別三:
抽象的事物不同: 抽象類是對類的抽象,介面是對行為的抽象;
抽象類是對整個類抽象,包括屬性,行為;
介面是對類的行為(區域性)進行抽象;
區別四:
定義的時候,定義抽象類和介面的思想不同設計抽象類是自下而上的過程,我子類需要,所以我定義抽象類設計介面是自上而下的過程,我介面規範某一行為,我某類需要這個行為,我實現某介面;
核心區別:
呼叫者使用動機不同,實現介面是為了使用他規範的某乙個行為;
繼承抽象類是為了使用這個類屬性和行為.
再簡單點說:
我們知道抽象類是從子類中發現公共部分,然後泛化成抽象類,子類繼承該父類即可,但是介面不同。實現它的子類可以不存在任何關係,共同之處。例如貓、狗可以抽象成乙個動物類抽象類,具備叫的方法。
鳥、飛機可以實現飛Fly介面,具備飛的行為,這裡我們總不能將鳥、飛機共用乙個父類吧!所以說抽象類所體現的是一種繼承關係,要想使得繼承關係合理,父類和派生類之間必須存在"is-a" 關係,即父類和派生類在概念本質上應該是相同的。對於介面則不然,並不要求介面的實現者和介面定義在概念本質上是一致的, 僅僅是實現了介面定義的規則而已。
動作遊戲和格鬥遊戲最核心的區別是什麼?
地球防衛軍 動作遊戲的核心是行動,通過合理的行動,達到通關這個目的。格鬥遊戲的核心是爭鬥,通過技巧和心理上的爭鬥,達到擊敗對手這個目的。 藍海悅 這麼說吧,動作遊戲熱血無賴,格鬥遊戲街霸 熱血無賴除了精良的格鬥還有大量的劇情,跑酷還有開放或箱庭世界 但格鬥遊戲基本只注重格鬥,地圖特別小,可以多人玩或...
戀愛和婚姻最本質的區別是什麼?
緣圓 戀愛是激情,激情會消退。婚姻是實實在在過日子,落實到每乙個具體問題。戀愛時總想把最好的一面呈現給對方,婚姻生活中展現的是本真的自我, 天使在人間 談戀愛是浪漫的,感性的,衝動的,熱烈的,激烈的,不計後果的,而婚姻是平淡的,克制的,容忍的。進入婚姻首要的不是想怎樣把它過好,而是想如何能一輩子過下...
ENTP和ESTP最明顯的區別是什麼?
張子佾 沒有 最 明顯的區別,除非比對人數低於抽屜原理的下限。補充一類區別,是estp側重的是現實資源的擴張,而entp側重的是抽象可能性的擴張。這意味著,如果把極端性昇滿,estp會抗拒entp式的試錯,因為在現實層面廣泛 全面試錯大概率上會造成資源的區域性耗損,所以為顧全即有利益estp反而會顯...