面向過程編程
面向過程編程是一種以過程為中心的編程思想,分析出解決問題的步驟,然后用函數把這些步驟一步一步實現。面向過程編程,數據和對數據的操作是分離的。
面向對象編程
面向對象編程是將事物對象化,通過對象通信來解決問題。面向對象編程,數據和對數據的操作是綁定在一起的。
面向對象的三大基本特征:
- 封裝:把客觀事物封裝成抽象的類,隱藏屬性和方法的實現細節,僅對外公開接口。
- 繼承:子類可以使用父類的所有功能,并且對這些功能進行擴展。繼承的過程,就是從一般到特殊的過程。
- 多態:接口的多種不同的實現方式即為多態。同一操作作用于不同的對象,產生不同的執行結果。在運行時,通過指向基類的指針或引用來調用派生類中的虛函數來實現多態。
面向對象優點:
封裝可以隱藏實現細節,使得代碼模塊化;繼承可以擴展已存在的類。它們的目的都是為了---代碼重用。
而多態則是為了實現另一個目的---接口重用。
面向對象的代碼更加支持重用,能降低軟件開發和維護的成本,提高軟件的質量。
面向對象總結
- 封裝,只管使用,不管實現
- 繼承
- 多態