对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 相关文章推荐
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
利用Python写一个爬妹子的爬虫
Jun 08 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
python提取具有某种特定字符串的行数据方法
Dec 11 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
Python unittest基本使用方法代码实例
Jun 29 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
django跳转页面传参的实现
Sep 17 Python
如何在Anaconda中打开python自带idle
Sep 21 Python
python基础之类方法和静态方法
Oct 24 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开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
Vue父组件向子组件传值以及data和props的区别详解
2020/03/02 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
python实现linux下使用xcopy的方法
2015/06/28 Python
Python 正则表达式的高级用法
2016/12/04 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
Python matplotlib可视化实例解析
2020/06/01 Python
轻松制作精彩视频:Animoto
2018/09/19 全球购物
XML文档面试题
2015/08/05 面试题
护士实习生自我鉴定范文
2013/12/10 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
普通话演讲稿
2014/09/03 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python