python高階語法:繼承性

七度銀塵發表於2019-01-29

物件導向3大特性:繼承性、封裝性、多型性

在這裡插入圖片描述

#父類  Human
class Human():
    sum = 0
    def __init__(self,name,age):
        self.name = name
        self.age = age
        
    def get_name(self):
        print(self.name)       

#子類 Student
class Student(Human):   #建議類名首字母大寫    #括號裡用來填寫Student的父類

    def __init__(self,school,name,age):      #name age屬於父類  school屬於子類
        self.school = school    
#         Human.__init__(self,name,age)      #將子類中變數傳入父類Human  區別於例項化呼叫建構函式,普通的方法呼叫,要把引數傳全。
        super(Student,self).__init__(name,age)  #super代表父類的關鍵字   推薦!!!!
    
    def do_homework(self):
        super(Student,self).do_homework()     #super不止呼叫建構函式,也適用於普通的例項方法裡
        print('english homework')
        
        
        
student1 = Student('人民路小學','石敢當',18)    #例項化呼叫建構函式,是python機制自動呼叫,python自動補全self引數
student1.do_homework()
# print(student1.sum)   #通過物件的方式來呼叫類變數
# print(Student.sum)    #通過類來呼叫類變數
# print(student1.name)
# print(student1.age)    #說明例項變數都是可以通過父類繼承的
# student1.get_name()     #說明父類的方法也是可以繼承的

相關文章