对python中类的继承与方法重写介绍


Posted in Python onJanuary 20, 2019

1.单继承

父类也叫基类

子类也叫派生类

如下所示,继承的关系:

对python中类的继承与方法重写介绍

继承的书写格式:

class 子类(父类):

     方法

实例:

class Animal:
    def eat(self):
       print("-----吃-------")
    def drink(self):
       print("-----喝--------")
class Dog(Animal):
     def drak(self):
       print("汪汪叫")
a=Animal()
a.eat()

孙类是可以继承爷爷类的,如下所示:

class Animal:
 def eat(self):
 print("---吃-----")
 def drink(self):
 print("----喝-----")
 def sleep(self):
 print("----睡觉-----")
class Dog(Animal):
 def bark(self):
 print("---汪汪叫----")
 
class Xiaotq(Dog):
 def fly(self):
 print("----飞-----")
 
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat()

2.重写

子类和父类中拥有方法名相同的方法,说明子类重写了父类的方法

重写的作用:父类中已经有了这个方法,但子类想修改里面的内容,直接修改父类是不好的,就需要用到重写

例如:

class Animal:
 def eat(self):
 print("---吃-----")
 def drink(self):
 print("----喝-----")
 def sleep(self):
 print("----睡觉-----")
class Dog(Animal):
 def bark(self):
 print("---汪汪叫----")
 
class Xiaotq(Dog):
 def fly(self):
 print("----飞-----")
 def bark(self):
 print("----狂叫-----")
 
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat()

这样做,父类的方法是不会被调用的,需要用以下方式:

class Animal:
 def eat(self):
 print("---吃-----")
 def drink(self):
 print("----喝-----")
 def sleep(self):
 print("----睡觉-----")
class Dog(Animal):
 def bark(self):
 print("---汪汪叫----")
 
class Xiaotq(Dog):
 def fly(self):
 print("----飞-----")
 def bark(self):
 print("----狂叫-----")
 #调用被重写的父类的方法
 #1 必须加上self
 Dog.bark(self)
 #2
 super().bark()
 
xiaotq = Xiaotq()
xiaotq.fly()
xiaotq.bark()
xiaotq.eat()

以上这篇对python中类的继承与方法重写介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
python中私有函数调用方法解密
Apr 29 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
Python import与from import使用及区别介绍
Sep 06 Python
python基于Selenium的web自动化框架
Jul 14 Python
python实现多线程端口扫描
Aug 31 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
使用pandas的box_plot去除异常值
Dec 10 Python
PyQt5结合matplotlib绘图的实现示例
Sep 15 Python
Python中request的基本使用解决乱码问题
Apr 12 Python
Python Matplotlib绘制动画的代码详解
May 30 Python
python 格式化输出百分号的方法
Jan 20 #Python
python自定义函数实现一个数的三次方计算方法
Jan 20 #Python
对python:循环定义多个变量的实例详解
Jan 20 #Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 #Python
浅谈Python 列表字典赋值的陷阱
Jan 20 #Python
对python中词典的values值的修改或新增KEY详解
Jan 20 #Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 #Python
You might like
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
python的socket编程入门
2018/01/29 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
python如何导入依赖包
2020/07/13 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
建议书标准格式
2014/03/12 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
写景作文评语集锦
2014/12/25 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
React Fragment介绍与使用详解
2021/11/11 Javascript