python類的多態、多態性


多態:多態指的是一類事物有多種形態

多態性:

 

class Animal:

  def run(self):

    raise AtrributeError("子類必須實現這種方法")

 

class Person(Animal):

  pass

 

p = Person()

p.run()

通過父類主動拋出一個異常,告訴你子類中必須自己要寫這個方法

改子類如下

class Person(Animal):

  def run(self):

    print("人跑")

再定義幾個子類

def Dog(Animal):

  def run(self):

    print("狗跑")

 

def Pig(Animal):

  def run(self):

    print("豬跑")

 

person = Person()

dog = Dog()

pig = Pig()

person.run()

dog.run()

pig.run()

上面這就是多態,同屬一個父類,但是他們在run這個方法上表現出不能的形態,這就是多態。

 

那什么是多態性呢?

還是舉電腦組裝的例子

電腦主機生產商定義了電腦這個類

class Computer():

  def usb_run(self):

    raise AtrributeError("USB設備自己要開發run方法")

 

def usb_insert(obj):

  obj.run()

 

class KeyBoard(Computer):

  def usb_run(self):

    print("鍵盤插入了")

 

class Mouse(Computer):

  def usb_run(self):

    print("鼠標插入了")

 

k = KeyBoard()

m = Mouse()

usb_insert(k)

usb_insert(m)

簡單理解就是定義了一個函數,函數里執行了多態的共同方法,

但是並不區分是哪個對象傳送過來的,具體對象需要通過向函數傳遞參數實現,這種實現方法就是多態性。

 

 

 

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM