多年學習程式設計的疑惑解開了,終於理解什麼是繼承
大家在學習一些程式語言的時候往往會被一些程式碼搞的暈頭轉向,其實本質的原因就是無法理解,學習程式設計最重要的是理解基礎程式碼,那些高大上的東西都脫離不開基礎,分析程式碼並研究內部原理尤為重要,本篇文章就是透過一步一步的分析,從整體到區域性研究Python類中super()繼承方法的用法,下面我們就步入正題
class Animal:
“”“
註釋:這是動物類
”“”
time = 55
def __init__(self,name,sex,age):
“”“
這是變數
”“”
self。name = name
self。sex = sex
self。age = age
def eat(self,al):
print(“%s吃%s”%(self。name,al))
def drink(self):
print(‘%s喝東西’%(self。name))
首先建立一個Animal類,使用關鍵字
class
,每個類都會有初始化,初始化的目的就是將類的變數放在一起,然後定義兩個方法,其實方法就是我們常說的函式,屬性其實就是變數
傳遞的三個引數分別是name,sex,age,這裡也叫
形參
,self。name中的self就是本身,也就是這個類,self。name其實就是設定類的name變數,讓傳入的name使用等號進行賦值給類的name變數,所以寫成self。name = name(這裡分清name是不同的兩個)
接下來就是定義兩個函式,其實在類裡面就叫方法,其實本質一樣只是叫法不同,第一個eat方法傳入引數al,並且輸出類變數name和傳入的變數al,第二個方法是直接輸出類變數name,好了,上面根據Animal類進行講解,我們大致瞭解類這個概念,其實就是
方法和屬性
下面再建立一個類,用於講解繼承
class Bird(Animal): #Bird繼承Animal類
def __init__(self,name,sex,age,wing):
super()。__init__(name,sex,age) #繼承Animal類中
self。wing = wing
def bark(self):
print(“嘟嘟叫”)
def eat(self,argv):
super()。eat(argv) #繼承方法
print(“%s吃%s”%(self。name,argv))
print(‘鳥吃蟲子。。。’)
另一種寫法:
Bird類在繼承Animal類的時候最能體現的就是使用括號
class Bird(Animal)
,
然後依舊是定義初始化,並且傳入的引數與原來的Animal相比較多出wing這個引數,其他三個都是相同的形參,使用super()不但可以繼承屬性而且還可以繼承方法,就相當於在繼承的過程中是可以選擇繼承的部分,不是所有都可以繼承,下圖是繼承等效的示意圖
不管是類還是繼承後的類都是class型別的,都需要例項化,
例項化
的意思就是就是將類具體化,比如鳥類最後是由一直只鳥組成,鳥類就是一群,一群就是類,而那一隻就是類的例項化,下面是例項化的程式碼
上述就是類繼承中super()的使用方法,希望大家能夠對所學知識有所理解,不理解沒關係,關注我或者同名公眾號進行留言,我將詳細講解,本篇文章就到這裡,祝大家生活愉快!