實現乙個抽象基類,不適用abc模組
1class
base:
2def
get(self, key):
3raise
notimplemented45
defset(self, key, value):
6raise
notimplemented78
9class
test(base):
10def
get(self, key):
11return
key12
1314 test =test()
15print(test.get('
key'))
當沒有實現抽象基類的方法的時候,會丟擲異常,但是會有乙個缺點,只有在呼叫方法的時候,才會丟擲異常
實現乙個抽象基類,使用abc模組
1import
abc234
class base(metaclass=abc.abcmeta):
6def
get(self, key):
7raise
notimplemented89
@abc.abstractmethod
10def
set(self, key, value):
11raise
notimplemented
1213
14class
test(base):
15def
get(self, key):
16return
key17
18def
set(self, key, value):
19return
key, value
2021
22 test =test()
23print(test.get('
key'
))24
print(test.set('
key', '
value
'))
抽象基類(ABC)
我對抽象基類 abstract base class,abc 的理解在兩個點上。第一點是抽象,即高度抽象 第二點是基類,對抽象基類來說,它的存在只是為了作為基類 區別於具體類 不可以被例項化。高度抽象一詞聽起來本身就很 抽象 不妨讓我用 總結 這個詞進行通俗解釋。比方這裡有兩類人,一類只是聾人,另一...
C 基礎 抽象基類(ABC)
抽象基類 abc 即abstract base class利用了基類指標指向派生類物件從而呼叫派生類方法的思想實現c 的隱藏 具體實現則主要用到的是純虛函式 pragma once include stdafx.h include include using std cout using std e...
Python抽象類(abc模組)
抽象類是乙個特殊的類,只能被繼承,不能例項化 其實在未接觸抽象類概念時,我們可以構造香蕉 蘋果 梨之類的類,然後讓它們繼承水果這個基類,水果的基類包含乙個eat函式。但是你有沒有想過,我們可以將香蕉 蘋果 梨例項化,去吃香蕉 蘋果 梨。但是我們卻不能將水果例項化,因為我們無法吃到叫水果的這個東西。所...