• Python学习17之类3继承


    ''''''
    '''
    继承:在继承原有类功能的基础上,增加新的功能(属性或者方法),形成新的类
    被继承的类:父类
    新的类:子类

    格式:class 子类(父类)
    class 子类(父类1,父类2,父类3...)
    '''
    class Box1():
    def __init__(self,l1,w1,h1):
    self.l=l1
    self.w=w1
    self.h=h1
    def volume(self):
    return self.l*self.w*self.h
    class Box2(Box1):
    def __init__(self,l1,w1,h1):
    super().__init__(l1,w1,h1) #子类的init函数里面的参数为继承父类的参数,通过super函数直接引用(继承)
    self.color='blue'
    self.material='paper'
    self.type='new'
    def area(self):
    re=self.l*self.w+self.l*self.h+self.w*self.h
    return re*2
    my_box2=Box2(10,10,10)
    print("该立方体体积为%d"%(my_box2.volume()))
    print("该立方体的表面积为%d"%(my_box2.area()))
    '''
    继承的使用方法为 class 子类名(父类名)
    重新定义子类的__init__函数,如父类__init__函数有参数,则直接照抄填入括号作为init函数的参数
    之后在子类的__init__函数中提供super()函数,实现父类与子类的关联,若父类有参数,需要照抄参数
    在子类里可以新增属性,以及定义新的方法
    '''
    '''
    重写方法:
    当程序员发现子类继承父类的方法之后,该方法无法满足子类的需求,可以在子类中重写该方法
    注意:重写的方法必须与你重写的这个父类方法名称一致
    在重写的方法中,可以加入新的参数,直接在括号里添加即可,无需重复添加父类的参数。
    具体如下例:求num个相同盒子的体积之和
    '''
    class Box3(Box1):
    def __init__(self,l1,w1,h1):
    super().__init__(l1,w1,h1) #子类的init函数里面的参数为继承父类的参数,通过super函数直接引用(继承)
    self.color='blue'
    self.material='paper'
    self.type='new'
    def area(self):
    re=self.l*self.w+self.l*self.h+self.w*self.h
    return re*2
    def volume(self,num):
    return self.l*self.w*self.h*num
    my_box3=Box3(10,10,10)
    print("该立方体体积为%d"%(my_box3.volume(5)))
    print("该立方体的表面积为%d"%(my_box3.area()))
  • 相关阅读:
    linux安装python3.6以后报错处理
    cent07设置服务开机自启
    python进程和线程中的两个锁
    针对Material主题怎么修改 phpstorm 代码编辑器的样式
    CentOS中zip工具的基本使用
    Anaconda退出Base环境
    微擎用户自动回复对应的链接、控制器、模板
    微擎应用模块中的参数设置对应的前端页面
    微擎设置借用权限
    微擎分配不同的用户具有不同应用的操作权限
  • 原文地址:https://www.cnblogs.com/wsxcode/p/12422755.html
Copyright © 2020-2023  润新知