1. 程式人生 > >Python面向物件這樣學就對了

Python面向物件這樣學就對了

Python雖然是解釋型語言,但從設計之初就已經是一門面向物件的語言,對於Python來說一切皆為物件。正因為如此,在Python中建立一個類和物件是很容易的,當然如果習慣面向過程或者函式的寫法也是可以的,Python並不做硬性的限制。

Python的面向物件特徵如下:

封裝

面向物件程式設計中的術語物件(Object)基本上可以看做資料(特性)以及由一系列可以存取、操作這些資料的方法所組成的集合。傳統意義上的“程式= 資料結構+演算法”被封裝”掩蓋“並簡化為“程式=物件+訊息”。物件是類的例項,類的抽象則需要經過封裝。封裝可以讓呼叫者不用關心物件是如何構建的而直接進行使用。

繼承

類繼承:

繼承給人的直接感覺是這是一種複用程式碼的行為。繼承可以理解為它是以普通的類為基礎建立專門的類物件,子類和它繼承的父類是IS-A的關係。

多重繼承:

不同於C#,Python是支援多重類繼承的(C#可繼承自多個Interface,但最多繼承自一個類)。多重繼承機制有時很好用,但是它容易讓事情變得複雜。

多型

多型意味著可以對不同的物件使用同樣的操作,但它們可能會以多種形態呈現出結果。在Python中,任何不知道物件到底是什麼型別,但又需要物件做點什麼的時候,都會用到多型。方法是多型的,運算子也是多型的。