亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python的多態與抽象舉例分析

發布時間:2021-11-25 09:36:06 來源:億速云 閱讀:98 作者:iii 欄目:互聯網科技

本篇內容主要講解“python的多態與抽象舉例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python的多態與抽象舉例分析”吧!

多態

面向對象編程中多態指的是一種數據類型有多種形態。

類示例

class Animal:kind = '動物'def __init__(self, name):self.name = namedef eat(self):print(f'{self.name}正在進食!')class Cat(Animal):def __init__(self, name, count=0):self.count = count
        Animal.__init__(self, name)def work(self):print(f'貓咪“{self.name}”捉住了{self.count}只老鼠')class Dog(Animal):def __init__(self, name, count=0):self.count = count
        Animal.__init__(self, name)def work(self):print(f'獵狗“{self.name}”捉住了{self.count}只兔子')

上述案例種Animal類這種數據有2種形態,一是貓、二是狗。

多態的好處是可以統一接口,提高多人配合做大型項目時的工作效率。

統一接口示例

def work(x, num):x.count += num
    x.work()white_cat = Cat('大白貓')balck_dog = Dog('老黑狗')work(white_cat, 2)work(balck_dog, 3)out:貓咪“大白貓”捉住了2只老鼠
獵狗“老黑狗”捉住了3只兔子

講解

在多人配合的項目中:甲是項目規劃師,他定義了Animal類;乙定義了Cat類、丙定義了Dog類,這時丁在代碼中實例化Cat和Dog,要寫有關Cat和Dog工作的代碼,如果沒有統一接口work函數,那么寫起來會很麻煩,得針對不同的實例判斷其類型再分別做處理。此時就可以運用多態的概念,甲寫出統一接口,這樣乙、丙、丁在寫Cat、Dog實例工作時可以使用統一接口work函數。這樣可以提高團隊協作默契度,減少重復代碼,提高代碼可讀性。

抽象

面向對象編程中抽象指的是一種特殊的類,抽象類不是用來實現功能的,而是用來規范子類方法名的。

類示例

class WorkAnimal:def work(self):raise NotImplementedError('要工作的動物必須統一實現work方法!')

講解:

可以看到WorkAnimal本身沒有實現功能,只是用來提示所有寫子類的程序員要統一子類的方法名。繼續以上的案例,假設程序員丙寫Dog類的時候沒有遵循抽象類統一命名規范,他的代碼如下:

class Dog(Animal, WorkAnimal):def __init__(self, name, count=0):self.count = count
        Animal.__init__(self, name)def catch(self):print(f'獵狗“{self.name}”捉住了{self.count}只兔子')

此時程序員丙和丁調用統一接口work函數就會報錯。

完整代碼如下:

class Animal:kind = '動物'def __init__(self, name):self.name = namedef eat(self):print(f'{self.name}正在進食!')class WorkAnimal:def work(self):raise NotImplementedError('要工作的動物必須統一實現work方法!')def work(x, num):x.count += num
    x.work()class Dog(Animal, WorkAnimal):def __init__(self, name, count=0):self.count = count
        Animal.__init__(self, name)def catch(self):print(f'獵狗“{self.name}”捉住了{self.count}只兔子')balck_dog = Dog('老黑狗')work(balck_dog, 3)out:NotImplementedError: 要工作的動物必須統一實現work方法!

到此,相信大家對“python的多態與抽象舉例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舒兰市| 依安县| 元朗区| 嵊州市| 象山县| 健康| 开阳县| 遂平县| 怀仁县| 论坛| 许昌县| 锦州市| 织金县| 门头沟区| 阿拉善右旗| 安龙县| 泾川县| 岫岩| 磴口县| 枞阳县| 临安市| 突泉县| 天峻县| 英超| 遵义县| 怀宁县| 抚松县| 黄陵县| 合江县| 普兰店市| 砚山县| 嘉定区| 渭源县| 龙门县| 绥棱县| 延边| 齐河县| 宜君县| 桦南县| 安阳县| 隆昌县|