關於繼承、重寫和多型這三種類型,我們在日常使用過程中使用最多的是繼承,當我們需要很多類似的子類別的時候,如果我們一一定義會浪費我們很多的空間和時間,這時候我們只要定義一個父類,也就是定義一個模板,然後全部繼承父類的屬性和行為即可,工廠在大量生產某個機械配件的時候,並不是每生產一個都需要畫一個圖紙,而是根據一個圖紙進行批量生產,我們在程序裡使用繼承的時候也是採用的這種思想,但是當我們想要對某個繼承來的配件進行一定更改的時候,我們可以採用重寫的方法,而多態則是綜合了繼承和重寫,下面我們依次進行學習。
所謂繼承,就是子繼承父。
根據例題我們來學習一下繼承。
classBase:#定義一個名為Base的父類別def__init__(self,name,age,id):self.name=nameself.age=ageself.id=idprint('繼承了Base這個類別')print('我的名字:',self.name)print('我的年齡:',self.age)print('我的學號:' ,self.id)defgoto_school(self):print(self.name,'正在使用Base類別中的goto_school方法去上學')classStudent(Base):#繼承父類別的時候會繼承父類別中的所有方法passxiaoming= Student('小明',20,1001)xiaoming.goto_school()
輸出結果為:
繼承了Base這個類別我的名字:小明我的年齡:20我的學號:1001小明正在使用Base類別中的goto_school方法去上學
讓我們來分析這個例子,首先我們在上面定義了一個名為Base的類,這個類別為我們提供了一個建構方法,包含了姓名,名字和學號,然後也提供了一個goto_school()的方法,然後我們又在下面定義一個名為Student的類,這個類別繼承了上面的Base類,然後我們直接呼叫Student類,透過輸出結果我們可以看出即使Student類別中什麼都沒有,仍然可以執行出一系列操作,這些行為和屬性都是由Base中繼承而來的,然後最後一行我們也呼叫了Base中的方法,仍然是可以呼叫成功的。