python接口和抽象类的区别_接口和抽象类有什么区别?
最近團隊在招人:阿里新零售事業(yè)群CBU技術(shù)部招Java高級&專家,團隊主要負責B2B工業(yè)品牌業(yè)務(wù),坐標杭州濱江,有興趣的小伙伴私戳我。
********************************************
以下是原文:
本身的設(shè)計目的就是不同的。
大家講的都很詳細了,我說說我自己的一點淺薄的理解。
我一直認為,工科的知識有個很明顯的特點:“以用為本”。在討論接口和抽象類的區(qū)別時,我也想從“用”的角度試著總結(jié)一下區(qū)別,所以我想到了設(shè)計目的。
接口的設(shè)計目的,是對類的行為進行約束(更準確的說是一種“有”約束,因為接口不能規(guī)定類不可以有什么行為),也就是提供一種機制,可以強制要求不同的類具有相同的行為。它只約束了行為的有無,但不對如何實現(xiàn)行為進行限制。對“接口為何是約束”的理解,我覺得配合泛型食用效果更佳。
而抽象類的設(shè)計目的,是代碼復(fù)用。當不同的類具有某些相同的行為(記為行為集合A),且其中一部分行為的實現(xiàn)方式一致時(A的非真子集,記為B),可以讓這些類都派生于一個抽象類。在這個抽象類中實現(xiàn)了B,避免讓所有的子類來實現(xiàn)B,這就達到了代碼復(fù)用的目的。而A減B的部分,留給各個子類自己實現(xiàn)。正是因為A-B在這里沒有實現(xiàn),所以抽象類不允許實例化出來(否則當調(diào)用到A-B時,無法執(zhí)行)。
第一次回答這類問題,有錯誤之處望大家海涵并不吝指正
總結(jié)
以上是生活随笔為你收集整理的python接口和抽象类的区别_接口和抽象类有什么区别?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 造梦西游3混沌在哪里
- 下一篇: python 画折线图_Python让你