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