1. 程式人生 > >利用繼承減少程式碼冗餘

利用繼承減少程式碼冗餘

繼承解決的是類與類之間的程式碼冗餘問題,一定是一個類是另外一個類的子類

 

繼承關係的查詢

總結物件之間的相似之處得到類,總結類與類之間的相似之處就得到了類們的父類

 

'''


class OldboyPeople:
    school='Oldboy'


class OldboyStudent(OldboyPeople):

    def __init__(self,name,age,sex):
        self.name=name
        self.age=age
        self.sex=sex
        self.score=0

    def choose_course(self):
        print('%s is choosing course' %self.name)



class OldboyTeacher(OldboyPeople):

    def __init__(self,name,age,sex,level):
        self.name=name
        self.age=age
        self.sex=sex
        self.level=level

    def score(self,stu,num):
        stu.score=num
''' ''' class OldboyPeople: school='Oldboy' def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex class OldboyStudent(OldboyPeople): # def __init__(self,name,age,sex): # self.name=name # self.age=age # self.sex=sex # self.score=0 def choose_course(self): print('%s is choosing course' %self.name) class OldboyTeacher(OldboyPeople): # def __init__(self,name,age,sex,level): # self.name=name # self.age=age # self.sex=sex # self.level=level def score(self,stu,num): stu.score=num stu1=OldboyStudent('李特丹',18,'female') #OldboyPeople.__init__(stu1,'李特丹',18,'female') print(stu1.__dict__) tea1=OldboyTeacher('egon',18,'male') ##OldboyPeople.__init__(tea1,'egon',18,'male',10) print(tea1.__dict__)
'''

問題:如何在子類派生出的新方法中重用父類的功能

 

class OldboyPeople:
    school='Oldboy'

    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex


class OldboyStudent(OldboyPeople):

    def __init__(self,name,age,sex):
        self.name=name
        self.age
=age self.sex=sex self.score=0 def choose_course(self): print('%s is choosing course' %self.name) class OldboyTeacher(OldboyPeople): # def __init__(self,name,age,sex,level): # self.name=name # self.age=age # self.sex=sex # self.level=level def score(self,stu,num): stu.score=num stu1=OldboyStudent('李特丹',18,'female') #OldboyPeople.__init__(stu1,'李特丹',18,'female') print(stu1.__dict__) tea1=OldboyTeacher('egon',18,'male') ##OldboyPeople.__init__(tea1,'egon',18,'male',10) print(tea1.__dict__)