Python继承外另一种重用方式——组合
生活随笔
收集整理的這篇文章主要介紹了
Python继承外另一种重用方式——组合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、組合概念
軟件重用的重要方式除了繼承之外還有另外一種方式——組合。
1、組合定義
組合指的是,在一個類中以另外一個類的對象(也就是實例)作為數據屬性,稱為類的組合。
也就是說,一個類的屬性是另一個類的對象,就是組合。
>>> class Equip: #武器裝備類 ... def fire(self): ... print('release Fire skill') ... >>> class Riven: #英雄Riven的類,一個英雄需要有裝備,因而需要組合Equip類 ... camp='Noxus' ... def __init__(self,nickname): ... self.nickname=nickname ... self.equip=Equip() #用Equip類產生一個裝備,賦值給實例的equip屬性 ... >>> r1=Riven('銳雯雯') >>> r1.equip.fire() #可以使用組合的類產生的對象所持有的方法 release Fire skill二、繼承和組合對比
共性
組合和繼承都是有效利用已有類資源的重要方式(代碼重用)。
差異
-
繼承:建立派生類和基類間的關系,是一種“是”的關系。
-
組合:建立類與組合的類之間的關系,是一種“有”的關系。
適用情況
-
繼承:當類之間有很多相同的功能,提取這些共同的功能做成基類,用繼承比較好
-
組合:當類之間有顯著不同,并且較小的類是較大的類所需要的組件時,用組合比較好。
總結
以上是生活随笔為你收集整理的Python继承外另一种重用方式——组合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中map和reduce函数?
- 下一篇: python调用其他文件的类和函数