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()))
Python学习17之类3继承的更多相关文章
- python学习日记(面向对象——继承)
什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 class Par ...
- Python学习手册之类和继承
在上一篇文章中,我们介绍了 Python 的函数式编程,现在我们介绍 Python 的类和继承. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/100106 ...
- python学习第十六天 --继承进阶篇
这一章节主要讲解面向对象高级编程->继承进阶篇,包括类多继承介绍和继承经典类和新式类属性的查找顺序不同之处. 多继承 上一章节我们讲到继承,子类继承父类,可以拥有父类的属性和方法,也可以进行扩展 ...
- Python学习笔记8-类的继承 、深度优先、广度优先
Python 类声明 语法: class 类名: 类体 例: #--encoding:utf-8-- # class AddressBookEntity: myVersion=0.1 def __in ...
- Python 学习笔记15 类 - 继承
我们在编程的过程中,并非都是要重头开始.比如其他人已经有现成的类,我们可以使用其他找人编写的类.术语称之为: 继承. 当一个类继承例外一个类时,它可以获得这个类的所有属性和方法:原有的类称之为 父类, ...
- Python学习--17 访问数据库
实际开发中,我们会经常用到数据库. Python里对数据库的操作API都很统一. SQLite SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以 ...
- Python学习--17 进程和线程
线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 进程 fork调用 通过fork()系统调用,就可以生成一个子进程 ...
- 《转》Python学习(17)-python函数基础部分
http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...
- Python学习-17.Python中的错误处理(二)
错误是多种多样的,在 except 语句中,可以捕获指定的异常 修改代码如下: import io path = r'' mode = 'w' try: file = open(path,mode) ...
随机推荐
- Python中类型的概念(一)
本课程主要介绍6种Python语言中的类型:数字类型.字符串类型.元组类型.列表类型文件类型.字典类型 1.数字类型 Python语言包括三种数字类型:整数类型.浮点数类型.复数类型 (1)整数类型 ...
- dp例题02. 滑雪问题 (poj1088)
poj1088滑雪问题 题目链接:http://poj.org/status Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得 ...
- C语言:signed和unsigned的区别
参考博客:https://blog.csdn.net/wen381951203/article/details/79922220 signed和unsigned用于修饰整数类型(包括char,从ANS ...
- rem样板
window.onload=window.onresize=function(){ var rem=document.documentElement.clientWidth*20/320; docum ...
- PTA数据结构与算法题目集(中文) 7-5
PTA数据结构与算法题目集(中文) 7-5 堆中的路径 7-5 堆中的路径 (25 分) 将一系列给定数字插入一个初始为空的小顶堆H[].随后对任意给定的下标i,打印从H[i]到根结点的路径. ...
- 原生js弹力球
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 一天学一个Linux命令:第一天 ls
文章更新于:2020-03-02 注:本文参照 man ls 手册,并给出使用样例. 文章目录 一.命令之`ls` 1.名字及介绍 2.语法格式 3.输出内容示例 4.参数 二.命令实践 1.`ls ...
- 3.K均值算法
一.概念 K-means中心思想:事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中,接着,重新 ...
- Struts2-学习笔记系列(13)-类型转换异常和校验器
Struts2框架有默认的类型转换错误拦截机制,该配置在struts-default.xml中,名叫conversionError,但是想使用需要继承ActionSupport. 默认的错误提示信息是 ...
- ffmpeg 交叉编译 版本4.0.4
touch run.sh chmod 755 run.sh ./run.sh run.sh #!/bin/sh ./configure \ --arch=aarch64 \ --cpu=armv8-a ...