美文网首页
Python学习入门笔记(十三)类——继承

Python学习入门笔记(十三)类——继承

作者: Yao_0 | 来源:发表于2017-07-12 21:00 被阅读0次

    注:所有代码部分均为连续的,“结果”为在jupyter分步运行结果
    代码部分

    class human:  #人类的定义
        def __init__(self,name='someone',age=10):#初始化,创建对象时会执行
            self.name = name
            self.age = age
            print('human init')
            
        #类的方法
        def my_name(self):
            print('my name is',self.name)
        def my_age(self):
            print('my age is',self.age)
        def eat(self):
            print('eat')
        def think(self,a,b):
            print(a+b)
    
    class student(human):#子类继承父类(学生类继承人类类)
        pass  #什么都不执行
    
    stu1 = student() #实例化一个学生类
    

    结果
    human init //human初始化打印的功能结果

    stu1.my_age()#继承父类的功能
    

    结果
    my age is 10

    !!!以下是子类继承父类,同时子类自己定义自己的功能

    class student(human):#子类继承父类
        def __init__(self,grade=1,school='MIT'):#初始化子类
            super().__init__() #父类的初始化
            self.grade = grade
            self.school = school
            self.scroe = 100
            print('student init')
            
        #添加子类自己的方法
        def learn(self):
            print('learning')
        def my_school(self):
            print('my school is',self.school)
    
    stu2 = student(4)#创建一个学生类
    

    结果 (先执行父类初始化,在执行子类初始化)
    human init
    student init

    stu2.my_age()#父类功能
    

    结果:
    my age is 10

    stu2.learn() #子类独有的功能
    stu2.my_school()
    

    结果
    learning
    my school is MIT

    !!!以下是子类继承父类,同时子类自己定义自己的功能,
    并且重写父类功能

    class student(human):#子类继承父类
        def __init__(self,grade=1,school='MIT'):
            super().__init__() #父类的初始化
            self.grade = grade
            self.school = school
            self.scroe = 100
            print('student init')
            
        #添加子类自己的方法
        def learn(self):
            print('learning')
        def my_school(self):
            print('my school is',self.school)
        #子类可以重写父类的方法
        def think(self,a,b):
            print(a*b)
    
    stu3 = student()
    

    结果
    human init
    student init

    stu3.think(10,20)#子类重写了夫类的方法
    

    结果:
    200

    相关文章

      网友评论

          本文标题:Python学习入门笔记(十三)类——继承

          本文链接:https://www.haomeiwen.com/subject/obhihxtx.html