对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实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
Python实现二分法算法实例
Feb 02 Python
简单介绍Python中利用生成器实现的并发编程
May 04 Python
在Python中操作列表之List.pop()方法的使用
May 21 Python
JSON Web Tokens的实现原理
Apr 02 Python
Python实现Linux中的du命令
Jun 12 Python
python版学生管理系统
Jan 10 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
使用Pytorch来拟合函数方式
Jan 14 Python
python中return不返回值的问题解析
Jul 22 Python
Python如何使用ElementTree解析xml
Oct 12 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 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实现批量压缩图片文件大小的脚本
2014/07/04 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
微信小程序实现吸顶效果
2020/01/08 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
python动态参数用法实例分析
2015/05/25 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
Python元字符的用法实例解析
2018/01/17 Python
Django中的用户身份验证示例详解
2019/08/07 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
Python 下载Bing壁纸的示例
2020/09/29 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
奖学金自我鉴定范文
2013/10/03 职场文书
办公室副主任岗位职责
2013/11/25 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
离婚纠纷代理词
2015/05/23 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis