面向过程和面向对象的联系和区别
以C語言和C++為例。
C語言是面向過程的,封裝單元是函數。函數里面按照邏輯流程一步一步實現就行了,這符合我們現實生活中解決問題時的思考過程。
C++是面向對象的,封裝單元是類。首先,面向對象是為了提高開發效率而設計的。使用C語言開發大項目編碼量很大,開發難度很大。一方面是因為大項目業務繁瑣,另一方面是因為C語言只能實現函數層面的復用,導致代碼復用率不高。而C++在函數的基礎上,提供了更高等級的封裝——類,類的三個特性,繼承、封裝、多態,提高了代碼復用率,減少代碼量,同時又能減少代碼耦合,能較好的勝任大型項目的開發。
需要明確的一點是,面向過程和面向對象之間的關系,絕不是互相排斥的兩種編程方法。相反,面向對象是對面向過程的一次更高等級的封裝。這也就是為什么C++是完全兼容C語言的,這一事實也從側面說明了,面向對象和面向過程不是二者選其一的編程方式,而是可以同時存在的編程方式。
從類的編寫方式看,它和客觀世界的事物抽象模型比較契合。它將事物的屬性抽象成類的屬性,將事物的行為抽象成類的方法。這體現了類的封裝特性:將某類事物的相關信息封裝在一起,更好管理,正因為高內聚,所以類之間只需要少量接口就可以相互配合工作,也就是實現了低耦合。
很多面向對象的教程的內容只是教讀者,類是如何描述事物的,讀者雖然感覺用類描述事物的確很合適,但是卻不知道既然可以面向過程解決問題,為什么還要面向對象?這是因為,當我們談及面向對象編程的時候,我們實際上談的是一種適合大型項目開發的代碼復用技術和高內聚低耦合技術。
完
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的面向过程和面向对象的联系和区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行理财利率跌了,收益创近15周新低,5
- 下一篇: Microsoft C 运行时库 (CR