面向對象編程的解釋

面向過程編程:首先分析出解決問題所需要的步驟(即“第一步做什么,第二步做什么,第三步做什么”),然后用函數實現各個步驟,再依次調用。

而面向對象編程,會將程序看作是一組對象的集合(還記得對象包括類對象和實例對象吧)。

用這種思維設計代碼時,考慮的不是程序具體的執(zhí)行過程(即先做什么后做什么),而是考慮先創(chuàng)建某個類,在類中設定好屬性和方法,即是什么,和能做什么。

接著,再以類為模版創(chuàng)建一個實例對象,用這個實例去調用類中定義好的屬性和方法即可。


用類編寫一個直觀的好處就是參數的傳遞會比普通函數要省事很多,也不必考慮全局變量和局部變量,因為類中的方法可以直接調用屬性。

可想而知,當項目難度越大,需要的參數越多,用類編寫在程序的可拓展性、可讀性、維護成本都會更勝一籌。

這就是面向對象編程:以對象為中心,將計算機程序看作一組對象的集合。對比圖如下:


面向對象.png

總結一下:和之前說過的函數類似,面向對象編程實際上也是一種對代碼的封裝。只不過,類能封裝更多的東西,既能包含操作數據的方法,又能包含數據本身。所以,代碼的可復用性也更高。

而且,對于需要長期更新的代碼而言,面向對象編程寫成的代碼結構會更清晰。所以,代碼的可讀性、可拓展性和可維護性這幾個方面都會優(yōu)于面向過程編程。

還有一點不得不提的是:面向對象編程,將代碼具體的數據和處理方法都封裝在類中,讓我們不用完全了解過程也可以調用類中的各種方法。

這個優(yōu)勢讓我們可以在 Python 中輕松地調用各種標準庫、第三方庫和自定義模塊(可以簡單理解成別人寫好的類),這是Python 之所以這么強大和熱門的主要原因之一。

這也是為什么我在開頭說“面向對象編程,會為你打開一個新的世界”。將他人封裝好的代碼為自己所用,效率和能做的事情自然是天壤之別。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容