日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
一日一技:在Python里面如何實(shí)現(xiàn)一個(gè)抽象類(lèi)

在某個(gè)在線教育的網(wǎng)站上設(shè)計(jì)模式相關(guān)的課程中,某老師說(shuō) Python 不支持抽象類(lèi)和接口。

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比前郭網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式前郭網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋前郭地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。

但實(shí)際上,Python 支持抽象類(lèi)。Python 自帶的abc模塊用于實(shí)現(xiàn)抽象類(lèi)相關(guān)的定義和操作。

我們通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明,如何在 Python 中實(shí)現(xiàn)抽象類(lèi):

 
 
 
 
  1. from abc import ABC, abstractmethod 
  2.  
  3. class People(ABC): 
  4.     @abstractmethod 
  5.     def walk(self): 
  6.         pass 
  7.      
  8.     @abstractmethod 
  9.     def eat(self): 
  10.         pass 
  11.      
  12.     def dance(self): 
  13.         print('我正在跳舞') 
  14.      

從abc模塊導(dǎo)入ABC類(lèi),和abstractmethod抽象方法裝飾器?;贏BC類(lèi)可以實(shí)現(xiàn)一個(gè)抽象類(lèi)。通過(guò)@abstractmethod裝飾一個(gè)方法,讓它成為一個(gè)抽象方法。抽象方法在子類(lèi)中必需被實(shí)現(xiàn)。

抽象類(lèi)不能被實(shí)例化,所以我們實(shí)例化一下,可以看到這里報(bào)錯(cuò)了,如下圖所示:

我們?cè)倏匆幌?,如果繼承抽象類(lèi),但是沒(méi)有實(shí)現(xiàn)其中的某個(gè)抽象方法,也會(huì)導(dǎo)致報(bào)錯(cuò)。如下圖所示:

當(dāng)我們把所有抽象方法都實(shí)現(xiàn)了以后,子類(lèi)就能夠正常初始化了,如下圖所示:

抽象類(lèi)People中的dance不是抽象方法,所以子類(lèi)不需要覆蓋。抽象類(lèi)是軟件開(kāi)發(fā)中一個(gè)非常重要的概念,通過(guò)定義抽象類(lèi),我們可以約定子類(lèi)必需實(shí)現(xiàn)的方法。當(dāng)我們一個(gè)類(lèi)有幾十上百個(gè)方法時(shí),用抽象方法來(lái)防止子類(lèi)漏掉某些方法是非常方便的做法。


本文標(biāo)題:一日一技:在Python里面如何實(shí)現(xiàn)一個(gè)抽象類(lèi)
文章出自:http://www.5511xx.com/article/dpsdosd.html