繼承簡介
繼承是指透過在建立類時提供另一個類(稱為父類)的名稱,來獲取父類的屬性與方法。繼承最明顯的作用就是節約程式碼量,不需要重複定義已經存在的屬性與方法。但是深入思考就會發現,複用只是繼承的附帶作用,繼承最有意義的一點,是將不同的類聯絡了起來,讓不同的類之間能夠有一定的共性。當我們在面對不同類的時候,如果能按照他們的共性按圖索驥,那麼會輕鬆不少。例如,如果我們已經考取了c1駕照,當我們看到半掛卡車的時候,即使沒有開過,也可以立即理解其操作方式,從而節省了學習時間。
私有與重寫
在python中,繼承的內容可以是屬性也可以是方法。有時候我們不想讓一個類的某些屬性或者方法暴露在外(即透過【物件名.屬性】或者【物件名.方法名()】的方式檢視或呼叫),或者不希望被子類繼承,則可以用私有或者重寫的方式來在某種程度上達到我們的目標。私有屬性在命名時以兩個下劃線開頭,私有屬性或方法不可以在直接訪問(也不可以在子類中直接訪問),而是必須要採用一些被額外定義的公共方法訪問。舉個例子:
點選檢視程式碼
class Student(object):
def __init__(self):
self.sid = ''
self.gender = ''
self.__university = '清華大學'
class HighSchoolStudent(Student):
pass
點選檢視程式碼
class Student(object):
def __init__(self):
self.sid = ''
self.gender = ''
self.__university = '清華大學'
def TargetSchool(self):
print(f'我將努力學習,爭取{self.__university}的offer!')
class HighSchoolStudent(Student):
pass
點選檢視程式碼
class Programmer(object):
def __init__(self):
self.gender = 'male'
language = 'Python'
def coding(self):
print(f'寫{self.language}程式碼')
點選檢視程式碼
class HighSchoolStudent(Student,Programmer):
pass