在 Python 中,繼承是一種重要的面向?qū)ο缶幊谭绞?。通過(guò)繼承,我們可以讓一個(gè)類“繼承”另一個(gè)類的屬性和方法,從而在不重復(fù)編寫代碼的情況下擴(kuò)展已有的類。
Python 中有兩種主要的繼承方式:
# 第一種:基于類的繼承 class BaseClass: def __init__(self, name): self.name = name def print_name(self): print(self.name) class DerivedClass(BaseClass): def __init__(self, name, age): super().__init__(name) self.age = age def print_age(self): print(self.age) # 第二種:基于多重繼承 class BaseClass1: def __init__(self, name): self.name = name def print_name(self): print(self.name) class BaseClass2: def __init__(self, age): self.age = age def print_age(self): print(self.age) class DerivedClass(BaseClass1, BaseClass2): def __init__(self, name, age): super().__init__(name) BaseClass2.__init__(self, age)
基于類的繼承是最常用的繼承方式,它使用關(guān)鍵字class和super()來(lái)實(shí)現(xiàn)。在這種情況下,派生類繼承基類的屬性和方法,且可以擴(kuò)展自身的屬性和方法。例如,DerivedClass類從BaseClass類繼承了方法print_name(),并且添加了方法print_age(),從而擴(kuò)展了類的功能。
基于多重繼承是一種不同的繼承方式,它使用類之間的關(guān)系來(lái)繼承多個(gè)類。在這種情況下,一個(gè)派生類可以從多個(gè)基類繼承屬性和方法。例如,DerivedClass類從兩個(gè)基類BaseClass1和BaseClass2中繼承了不同的屬性和方法。
無(wú)論哪種方式,繼承都是 Python 中強(qiáng)大的工具,可以讓我們更高效和靈活地編寫面向?qū)ο蟮拇a。