python高级语法:继承性

面向对象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()     #说明父类的方法也是可以继承的

猜你喜欢

转载自blog.csdn.net/weixin_42610407/article/details/86686982