1. 程式人生 > 實用技巧 >python面向物件之多型

python面向物件之多型

實現多型的步驟:

1、定義一個父類(Base),實現某個方法(比如:run)

2、定義多個子類,在子類中重寫父類的方法(run),每個子類run方法實現不同的功能

3、假設我們定義了一個函式,需要一個Base型別的物件的引數,那麼呼叫函式的時候,傳入Base類不同的子類物件,那麼這個函式會執行不同的功能,這就是多型的體現。

class Animal(object):
    '''定義一個Animal類'''
    def run(self):
        print("動物都會跑")

class Cat(Animal):
    '''定義一個cat類,繼承Animal'''
    def
run(self): print("貓會跑") class Dog(Animal): '''定義一個Dog類,繼承Animal''' def run(self): print("狗會跑") class Test(): def run(self): print("Test類也有run方法") def func(obj): obj.run() #多型的意義是,根據不同的物件做不同的事情 a=Animal() func(a) c=Cat() func(c) d=Dog() func(d) #---python的多型實際是一個偽多型,因為他不能像java那樣定義資料型別,所以只有傳入有run方法的類的物件,都能執行run方法
t=Test() func(t)

執行結果:

動物都會跑
貓會跑
狗會跑
Test類也有run方法

python的多型實際是一個偽多型,因為他不能像java那樣定義資料型別,所以只有傳入有run方法的類的物件,都能執行run方法