1. 程式人生 > >少說話多寫程式碼之Python學習042——類04(超類 )

少說話多寫程式碼之Python學習042——類04(超類 )

來看看Python中類的繼承。被繼承的類稱作超類。
先看一個類,定義了一個Student類,有兩個屬性和三個方法。

class Student:
    name='學生'
    school='學校'
    def init(self,n,s):
        self.name=n
        self.school=s
    def goSchool(self):
        print('%s 去 %s 上學啦!' %(self.name,self.school) )
    def doWork(self):
        print('%s寫生字' %self.name)
s = Student()
s.init('小學生','小學')
s.goSchool()
s.doWork()

呼叫後看結果如下:

小學生 去 小學 上學啦!
小學生寫生字

繼承一個類後,稱之為子類,子類擁有超類的屬性和方法,同時也可以對父類的方法重寫。
比如,我們實現一個繼承,定義一個PrimaryStudent類,繼承自Student,重新實現doWork方法。

class PrimaryStudent(Student):
    def doWork(self):
        print('%s造句' %self.name)

p = PrimaryStudent()
p.init('小明','二道河小學')
p.goSchool()
p.doWork()

呼叫輸出如下:

小明 去 二道河小學 上學啦!
小明造句

除了能重寫方法外,還可以擴充套件父類,新增方法或者屬性,
再定義了PrimaryStudent2,新增一個leaveSchool的方法,

class PrimaryStudent2(Student):
    def leaveSchool(self):
        print('爸爸媽媽接%s放學' %self.name)

p2=PrimaryStudent2()
p2.init('大壯','三里屯小學')
p2.goSchool()
p2.doWork()
p2.leaveSchool()

呼叫輸出如下:

大壯 去 三里屯小學 上學啦!
大壯寫生字
爸爸媽媽接大壯放學

工程檔案下載:https://download.csdn.net/download/yysyangyangyangshan/10785381