• 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()))
  • 相关阅读:
    Java线程面试题 Top 50 (转载)
    Java并发编程:volatile关键字解析
    转:【创龙TMS320C6748开发板试用】相关软件的安装与基本设置+CCS安装失败分析
    Linux格式化分区报错Could not start /dev/sda No such file or directory 解决办法
    转:用 git 下载 uboot 源码
    转:堆(heap)和栈(stack)有什么区别??
    转:数字信号处理的学习资源
    转:VC中WORD,DWORD,unsigned long,unsigned short的区别(转)
    转:ASCII码表_全_完整版
    转:CFile::Seek
  • 原文地址:https://www.cnblogs.com/wsxcode/p/12422755.html
Copyright © 2020-2023  润新知