一、什麼是繼承
i:繼承是一種建立新類的方式,新建的類可稱為子類或派生類,父類又可稱為基類或超類,子類會遺傳父類的屬性
ii:需要注意的是:python支援多繼承
在python中,新建的類可以繼承乙個或多個父類
class parent1(object): # 父類ps1: 在python2中有經典類與新式類之分x=1111
class parent2(object):# 父類
pass
class sub1(parent1): # 單繼承
pass
class sub2(parent1,parent2): # 多繼承
pass
新式類:繼承了object類的子類,以及該子類的子類子子類。。。
經典:沒有繼承object類的子類,以及該子類的子類子子類。。。
在python3中沒有繼承任何類,那麼會預設繼承object類,所以python3中所有的類都是新式類
iii:python的多繼承
優點:子類可以同時遺傳多個父類的屬性,最大限度地重用**
缺點:1、違揹人的思維習慣:繼承表達的是一種什麼"是"什麼的關係
2、**可讀性會變差
3、不建議使用多繼承,有可能會引發可惡的菱形問題,擴充套件性變差,
如果真的涉及到乙個子類不可避免地要重用多個父類的屬性,應該使用mixins
二、為何要用繼承:用來解決類與類之間**冗餘問題
三、如何實現繼承
classoldboypeople:
school = '上海校區'
def
__init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
class
student(oldboypeople):
deftell_info(self):
print(f'學生姓名:正在上課。')
class
teacher(oldboypeople):
def__init__(self, name, age, gender, salary, level):
oldboypeople.__init__(self, name, age, gender)
self.salary = salary
self.level = level
def
tell_info(self):
print(f'老師:的薪水是')
# 呼叫
teacher_obj = teacher('egon', '44', 'male', '10000', 5)
teacher_obj.tell_info()
類的繼承與派生
類的繼承與派生 一 派生類生成過程 1 吸收基類成員。2 改造基類成員。3 擴充基類成員。在類的派生中,建構函式和析構函式不能被派生。派生類繼承了基類的全部資料成員和除了構造,析構之外的全部函式 成員。二 類的繼承方式有共有繼承 保護繼承 私有繼承三種 1 公有繼承。基類的公有和保護成員的訪問屬性在...
類的繼承與派生
儘管在派生類物件中含有從基類繼承而來的成員,但派生類並不能直接初始化這些成員,必須使用基類的建構函式來初始化它的基類成員。初始化順序 先初始化基類成員,在初始化自己新增成員。派生類可以訪問基類的公有成員和受保護成員。類的作用域分辨符。我們可以將基類的指標或引用繫結到派生類物件上,但反過來不行,不存在...
類的繼承與派生
乙個新類從已有的類獲得其已有特性,稱為類的繼承 從已有的類 父類 基類 產生乙個新的子類 派生類 稱為類的派生。因此,類的繼承與派生是同樣乙個過程的兩個方向的描述。單繼承 乙個派生類只從乙個基類派生 單繼承關係形成的層次是乙個樹形結構。箭頭由派生類指向基類。某乙個事物是由其他幾種事物構成的,那麼其他...