91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

岳池县| 什邡市| 古蔺县| 大连市| 明光市| 盱眙县| 灵璧县| 嘉义县| 镇原县| 焦作市| 海兴县| 镇巴县| 新乡市| 嘉义县| 方城县| 镇原县| 张家港市| 西宁市| 娄烦县| 镇江市| 余江县| 灵川县| 黄骅市| 鲜城| 永济市| 本溪市| 二手房| 卓尼县| 汉阴县| 中山市| 洛阳市| 秭归县| 龙口市| 洪洞县| 湄潭县| 临夏县| 鄢陵县| 沛县| 永胜县| 临安市| 尼木县|