小论接口(interface)和抽象类(abstract class)的区别
生活随笔
收集整理的這篇文章主要介紹了
小论接口(interface)和抽象类(abstract class)的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接口是類實現了某一種功能的體現,這種體現往往是對外的,所以重載接口的函數一定是public的
可是初學OO編程的時候,往往會碰到一個問題,既然有接口(interface)的存在,為什么還要有抽象類(abstract class)呢?
抽象類有點像接口和類的結合體,其中既可以僅僅包含函數的聲明,又可以有函數的實現。其實在具體的編程環境中,類中往往有一個固定的算法或者一個固定的工作流(workflow),比如有一個類表示吃飯,那么其固定的工作流為 獲取餐具->獲取食物->吃,體現這一工作流的函數是確定的,可以直接在抽象類中予以實現,而具體的步驟 比如 獲取餐具是拿了筷子還是用了刀叉則在抽象類中可以僅僅是一個聲明,具體由子類來實現. 此外吃飯這個類可以實現了一個接口叫 吃飽 ,而實現 吃飽 這個接口的不僅僅有吃飯類,還有比如吃零食 等類
所以總結一下,接口是方便類的調用,而抽象類則是用于規范類當中特定的工作流或算法的。
轉載于:https://www.cnblogs.com/rav009/archive/2012/11/29/5131186.html
總結
以上是生活随笔為你收集整理的小论接口(interface)和抽象类(abstract class)的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试原则
- 下一篇: zigbee zstack 串口,按键,