溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中多態(tài)的原理是什么

發(fā)布時(shí)間:2021-05-12 17:20:03 來源:億速云 閱讀:216 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)Python中多態(tài)的原理是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

目標(biāo)

多態(tài)

面向?qū)ο笕筇匦?/h3>

封裝 根據(jù) 職責(zé) 將 屬性 和 方法 封裝 到一個(gè)抽象的 類 中
定義類的準(zhǔn)則
繼承 實(shí)現(xiàn)代碼的重用,相同的代碼不需要重復(fù)的編寫
設(shè)計(jì)類的技巧
子類針對(duì)自己特有的需求,編寫特定的代碼
多態(tài) 不同的 子類對(duì)象 調(diào)用相同的 父類方法,產(chǎn)生不同的執(zhí)行結(jié)果

多態(tài) 可以 增加代碼的靈活度
以 繼承 和 重寫父類方法 為前提
是調(diào)用方法的技巧,不會(huì)影響到類的內(nèi)部設(shè)計(jì)
Python中多態(tài)的原理是什么

多態(tài)案例演練

需求

1.在 Dog 類中封裝方法 game
普通狗只是簡(jiǎn)單的玩耍
2.定義 XiaoTianDog 繼承自 Dog,并且重寫 game 方法
哮天犬需要在天上玩耍
3.定義 Person 類,并且封裝一個(gè) 和狗玩 的方法
在方法內(nèi)部,直接讓 狗對(duì)象 調(diào)用 game 方法
Python中多態(tài)的原理是什么
案例小結(jié)

Person 類中只需要讓 狗對(duì)象 調(diào)用 game 方法,而不關(guān)心具體是 什么狗
game 方法是在 Dog 父類中定義的
在程序執(zhí)行時(shí),傳入不同的 狗對(duì)象 實(shí)參,就會(huì)產(chǎn)生不同的執(zhí)行效果
多態(tài) 更容易編寫出出通用的代碼,做出通用的編程,以適應(yīng)需求的不斷變化!

class Dog(object):

  def __init__(self, name):
    self.name = name

  def game(self):
    print("%s 蹦蹦跳跳的玩耍..." % self.name)


class XiaoTianDog(Dog):

  def game(self):
    print("%s 飛到天上去玩耍..." % self.name)


class Person(object):

  def __init__(self, name):
    self.name = name

  def game_with_dog(self, dog):

    print("%s 和 %s 快樂的玩耍..." % (self.name, dog.name))

    # 讓狗玩耍
    dog.game()


# 1. 創(chuàng)建一個(gè)狗對(duì)象
# wangcai = Dog("旺財(cái)")
wangcai = XiaoTianDog("飛天旺財(cái)")

# 2. 創(chuàng)建一個(gè)小明對(duì)象
xiaoming = Person("小明")

# 3. 讓小明調(diào)用和狗玩的方法
xiaoming.game_with_dog(wangcai)

python有哪些常用庫

python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

以上就是Python中多態(tài)的原理是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI