如何用繼承的方式完成包裝

派森马發表於2024-08-06

所謂用繼承的方式完成包裝,其實很簡單,我們舉個例子。
改寫系統自帶的list中append的方法:

1> class List(list):
    def append(self,obj):
        if type(obj) is str:
            super().append(obj)
        else:
            print('不是str型別不能append')

l=List()
l.append('hello')
print(l)
輸出結果:
['hello']

2> class List(list):
    def append(self,obj):
        if type(obj) is str:
            super().append(obj)
        else:
            print('不是str型別不能append')

l=List()
l.append(2)
print(l)
輸出結果:
不是str型別不能append
[]

看到上面兩種程式碼寫法最後的輸出結果了吧?你看,是不是就實現了改寫append方法,只把字串型別的資料加入到列表中。這個就叫做用繼承的方式完成包裝。

相關文章