日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python编程基础:第四十七节 抽象类Abstract Classes

發布時間:2025/4/5 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python编程基础:第四十七节 抽象类Abstract Classes 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第四十七節 抽象類Abstract Classes

  • 前言
  • 實踐

前言

抽象類可以這么理解,它就是一個模板,里面聲明了子類必須定義的函數,但是對于每個函數都沒有給出具體實現。所有函數的實現都是在子類中定義。我們這里給出抽象類的定義方式:

from abc import ABC, abstractmethodclass 類名稱(ABC):@abstractmethoddef 方法名稱(self):pass

實踐

我們先定義一個People抽象類:

from abc import ABC, abstractmethodclass People(ABC):@abstractmethoddef gender(self):pass

可見,People類是ABC類的子類,ABC是Abstract Classes的簡寫,通過以上定義就可以聲明People類是抽象類。如果我們要指定某個函數是People類的所有子類均需要定義的,我們就在這個函數上方添加@abstractmethod。通過這樣定義,如果子類中沒有該函數的具體實現過程程序就會報錯。
然后我們創建子類Woman繼承于父類People:

class Woman(People):def gender(self):print("This is a woman")

可見,子類Woman中給出了gender方法的具體實現過程。我們接下來對子類實例化:

woman = Woman() woman.gender() >>> This is a woman

當然,我們在重寫抽象類中聲明的函數時也可以傳參:

class Man(People):def __init__(self, height):self.height = heightdef gender(self, country):print("This is a {} man".format(country))def description(self):print("This man is {}cm".format(self.height))

我們定義子類Man繼承于父類People,并對gender函數進行實現,不同的是這里的gender函數需要外部傳參。我們給出該類的實例化過程:

man = Man(height=170.2) man.gender(country="Chinese") man.description() >>> This is a Chinese man >>> This man is 170.2cm

以上便是抽象類的全部內容,感謝大家的收藏、點贊、評論。我們下一節將介紹對象作為參數(Objects as Arguments),敬請期待~

總結

以上是生活随笔為你收集整理的Python编程基础:第四十七节 抽象类Abstract Classes的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。