对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命令行解析工具Argparse
Apr 20 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
python MySQLdb使用教程详解
Mar 20 Python
Python3使用turtle绘制超立方体图形示例
Jun 19 Python
利用pandas进行大文件计数处理的方法
Jul 25 Python
python+selenium实现自动抢票功能实例代码
Nov 23 Python
python中pygame安装过程(超级详细)
Aug 04 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
给Python学习者的文件读写指南(含基础与进阶)
Jan 29 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
pycharm激活方法到2099年(激活流程)
Sep 22 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP xpath()函数讲解
2019/02/11 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
asp.net 30分钟掌握无刷新 Repeater
2011/09/16 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
全面解析Bootstrap排版使用方法(标题)
2015/11/30 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
python http基本验证方法
2018/12/26 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
会议接待欢迎词
2014/01/12 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL
MySQL数据库完全卸载的方法
2022/03/03 MySQL