1. 程式人生 > >python 物件的魔力--多型、封裝和繼承

python 物件的魔力--多型、封裝和繼承

簡單介紹下這幾個名詞的意思。

多型(Polymorphism):意味著可以對不同類的物件使用相同的操作。

封裝(Encapsulation): 即對外部世界隱藏物件的工作細節。

繼承(Inheritance): 以通用的類為基礎建立專門的類物件。 

一、多型

    多型意味著支援多種形態,就算你不知道變數所引用的物件型別是什麼,還是能對它進行操作,而它也會根據物件型別的不同而表現出不同的行為。舉例"count"和"repr":

>>> 'test'.count('t')
2
>>> ['a', 'b', 't'].count('a')
1
對於變數x,不需要知道其是字串還是列表,直接呼叫它的count方法

我們先定義一個簡單函式

>>> def length(x):
...     print "The length of ", repr(x), "is", len(x)
...
>>> length('aaa')
The length of  'aaa' is 3
>>>
>>> length([1, 1, 3, 4, 5])
The length of  [1, 1, 3, 4, 5] is 5

可以看出函式中使用repr函式, repr函式是多型特性的代表之一。