日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2025/4/5 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

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