本文實例講述了Python面向?qū)ο蟪绦蛟O(shè)計OOP。分享給大家供大家參考,具體如下:
類是Python所提供的最有用的的工具之一。合理使用時,類可以大量減少開發(fā)的時間。類也在流行的Python工具中使用,例如,tkinter GUI API。
為何使用類
與面向?qū)ο蟮腏ava一樣,類是對現(xiàn)實世界的一種抽象。
從更具體的程序設(shè)計觀點來看,類是Python的程序組成單元,就像函數(shù)和模塊一樣:類是封裝邏輯和數(shù)據(jù)的另一種方式。實際上,類也定義新的命名空間,在很大程度上就像模塊。但是類有三個重要的獨到之處,使其在建立對象時更為有用。
1.多重實例
類基本上就是產(chǎn)生對象的工廠。每次調(diào)用一個類,就會產(chǎn)生一個有獨立命名空間的新對象。每個又類產(chǎn)生的對象都能讀取類的屬性,并獲得自己的命名空間來儲存數(shù)據(jù),這些數(shù)據(jù)對于每個對象來說都不同。
2.通過繼承進(jìn)行定制
類也支持OOP的繼承的概念。我們可以在類的外部重新定義其屬性從而擴充這個類。
3.運算符重載
通過提供特定的協(xié)議方法,類可以定義對象來響應(yīng)在內(nèi)置類型上的幾種運算。例如,通過類創(chuàng)建的對象可以進(jìn)行切片,級聯(lián)和索引等運算。Python提供了一些可以由類使用的鉤子,從而能夠中斷并實現(xiàn)任何的內(nèi)置類型運算。
Python的類與Java類似,所以關(guān)于繼承、屬性和方法以及類和實例的基礎(chǔ)知識在這里不再贅述。直接介紹語法內(nèi)容。
類產(chǎn)生多個實例對象
【OOP模型中的兩種對象:類對象和實例對象】
類對象提供默認(rèn)行為,是實例對象的工廠。實例對象是程序處理的實際對象:各自都有獨立的命名空間,但是繼承(可自動存?。﹦?chuàng)建該實例的類中的變量名。類對象來自于語句,而實例來自于調(diào)用。每次調(diào)用一個類,就會得到這個類的新的實例。
【類對象提供默認(rèn)行為】
執(zhí)行class語句,就會得到類對象。以下是Python類的主要特性:
1.class語句創(chuàng)建類對象并將其賦值給變量名。就像函數(shù)def語句,Python class語句也是可執(zhí)行語句,執(zhí)行時,會產(chǎn)生新的類對象,并將其賦值給class頭部的變量名。此外,就像def應(yīng)用,class語句一般是在其所在文件導(dǎo)入時執(zhí)行的。
2.class語句內(nèi)的賦值語句會創(chuàng)建類的屬性。class語句內(nèi)的頂層的賦值語句會產(chǎn)生類對象中的屬性。從技術(shù)角度講,class語句的作用域會變成類對象的屬性的命名空間,就像模塊的全局作用域一樣。執(zhí)行class語句后,類的屬性可由變量名點號運算獲取object.name。
3.類屬性提供對象的狀態(tài)和行為。類對象的屬性記錄狀態(tài)信息和行為,可由這個類創(chuàng)建的所有實例共享。位于類中的函數(shù)def語句會生成方法,方法將會處理實例。
新聞熱點
疑難解答