对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序列化基础知识(json/pickle)
Oct 19 Python
python决策树之CART分类回归树详解
Dec 20 Python
pyqt5自定义信号实例解析
Jan 31 Python
python3实现mysql导出excel的方法
Jul 31 Python
基于django传递数据到后端的例子
Aug 16 Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 Python
python selenium操作cookie的实现
Mar 18 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
解决numpy数组互换两行及赋值的问题
Apr 17 Python
Python MNIST手写体识别详解与试练
Nov 07 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 选项及相关信息函数库
2006/12/04 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
Python实现备份MySQL数据库的方法示例
2018/01/11 Python
Python匿名函数及应用示例
2019/04/09 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python常用扩展插件使用教程解析
2020/11/02 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
化学学院毕业生自荐信范文
2013/12/17 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
减负增效提质方案
2014/05/23 职场文书
股指期货心得体会
2014/09/10 职场文书
2014年个人委托书范本
2014/10/13 职场文书
颐和园导游词400字
2015/01/30 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python
Java 定时任务技术趋势简介
2022/05/04 Java/Android