多年學習程式設計的疑惑解開了,終於理解什麼是繼承

多年學習程式設計的疑惑解開了,終於理解什麼是繼承

多年學習程式設計的疑惑解開了,終於理解什麼是繼承

大家在學習一些程式語言的時候往往會被一些程式碼搞的暈頭轉向,其實本質的原因就是無法理解,學習程式設計最重要的是理解基礎程式碼,那些高大上的東西都脫離不開基礎,分析程式碼並研究內部原理尤為重要,本篇文章就是透過一步一步的分析,從整體到區域性研究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()的使用方法,希望大家能夠對所學知識有所理解,不理解沒關係,關注我或者同名公眾號進行留言,我將詳細講解,本篇文章就到這裡,祝大家生活愉快!