少说话多写代码之Python学习042——类04(超类 )

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yysyangyangyangshan/article/details/84075462

来看看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

猜你喜欢

转载自blog.csdn.net/yysyangyangyangshan/article/details/84075462