第四十四节 方法重写Method Overriding

  • 前言
  • 实践

前言

我们前面说了,子类继承于父类,可以调用父类的所有属性和方法。那么如果我们想在继承的过程中重新书写父类的某些方法,此时就用到了方法重写。我们通常采用如下方式进行方法重写:

class 父类:def 父类方法1(self):方法1的具体执行方式class 子类(父类):def 父类方法1(self):重写父类方法1的执行方式

实践

我们这里首先创建一个名为Animal的父类,并定义其方法eat()

class Animal:def eat(self):print("This animal is eating")

然后我们定义子类Rabbit继承于父类Animal,同时对方法eat()进行重写:

class Rabbit(Animal):def eat(self):print("This rabbit is eating carrot")

其实就是定义一个与父类中同名的函数然后编写你想执行的代码即可。我们对子类实例化:

rabbit = Rabbit()
rabbit.eat()
>>> This rabbit is eating carrot

可见此时执行的是子类中的eat()方法。

以上便是方法重写的全部内容,感谢大家的收藏、点赞、评论。我们下一节将介绍方法链(Method Chaining),敬请期待~

Python编程基础:第四十四节 方法重写Method Overriding相关推荐

  1. Python编程基础:第二十四节 作用域Scope

    第二十四节 作用域Scope 前言 实践 前言 在Python中每一个变量都有其自己的生命周期,我们一般将变量分为全局变量与局部变量,全局变量是指在整个代码内部都可以访问到的变量,局部变量是指只有在函 ...

  2. Python编程基础:第十四节 列表Lists

    第十四节 列表Lists 前言 实践 前言 列表是一种非常常用的数据结构.我们可以用它来存储各种类型的数据. 实践 我们先来创建一个名为food的列表,里面存储了一系列我喜欢的食物名称: food = ...

  3. Python编程基础:第二十九节 异常Exception

    第二十九节 异常Exception 前言 实践 前言 我们在写代码时不可避免地会出错,这时候编译器便会抛出异常并中断程序的执行.针对这种情况,我们可以采用异常处理的方式捕捉程序中的异常信息,并将异常信 ...

  4. Python编程基础:第二十五节 args参数*args

    第二十五节 args参数*args 前言 实践 前言 我们目前学习到的函数的参数个数都是固定的,那么我们是否可以指定任意多个参数呢?其实是可以的,这里就用到了args参数,它可以将用户指定的任意多个参 ...

  5. Python编程基础:第十九节 索引Index Operator

    第十九节 索引Index Operator 前言 实践 前言 我们在字符串学习过程中已经接触过索引的相关内容,我们在这里做一个小结,Python中的索引分为两部分,一种是从左向右,从0开始依次递增,例 ...

  6. Python编程基础:第十五节 二维列表2D Lists

    第十五节 二维列表2D Lists 前言 实践 前言 列表中的元素可以是任何形式,整型.浮点型.字符串型,甚至是一个列表.当列表的元素也是列表时,我们将其称为二维列表. 实践 我们先来创建多个一维列表 ...

  7. Python编程基础:第十六节 元组Tuple

    第十六节 元组Tuple 前言 实践 前言 我们这一节来学习一个与列表非常相似的数据结构--元组.需要注意的是元组定义好以后,其中的元素是不能改变的,并且所有元素是有序排列的, 实践 我们先来创建一个 ...

  8. Python编程基础:第二十六节 kwargs参数**kwargs

    第二十六节 kwargs参数**kwargs 前言 实践 前言 上一节我们尝试传入任意多的参数,我们这一节来学习传入任意多具有参数名称的参数.kwargs参数将用户传入的参数打包为字典传入函数中用于进 ...

  9. Python编程基础:第四十五节 方法链Method Chaining

    第四十五节 方法链Method Chaining 前言 实践 前言 方法链是指一个对象一次调用其自身的多个方法,通常写作对象.方法1.方法2.由于这种调用方法看起来像一个链条,所以我们将其称作方法链. ...

最新文章

  1. (转)Android笔记--handler机制
  2. Windows Phone 8初学者开发—第22部分:用演示图板创建卷盘的动画
  3. 命令行下升级pip版本
  4. mysql的联表查询和去重复数据
  5. Java高级语法笔记-多个异常处理
  6. 深度学习笔记--单层感知机原理及代码实现
  7. 在Java中调用Python,java面试题,java初级笔试题
  8. Pandas模块,我觉得掌握这些就够用了!
  9. ChartControl柱状图指定每一个柱子的颜色
  10. VNX VMX and delete luns
  11. C++/OpenGL 入门(14):四面体表面贴图纹理图案
  12. typecho评论不显示用户头像怎么办?怎么改为QQ头像显示?
  13. 21. 查询表sc——查询平均成绩大于等于90分的学生学号和平均成绩
  14. mysql 订单表与商品表_数据库——订单表中有不同类型的商品,表的设计
  15. 每天一道算法题系列十七之电话号码的字母组合
  16. .ps1 is not digitally signed. The script will not execute on the system.
  17. 设计模式之--中介者模式
  18. Sort sort =new Sort(Sort.Direction.ASC,“id“)
  19. C语言>>百钱百鸡问题。鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何 ?
  20. HTML-标签-a标签

热门文章

  1. Leetcode1695. 删除子数组的最大得分[C++题解]:双指针、区间内元素不能重复
  2. dell 如何给raid分区_什么是RAID技术?
  3. 添加一个hello wrold系统调用到内核
  4. oracle awr windows,windows下的oracle 如何生成awr报告
  5. sift计算描述子代码详解_SIFT解析(三)生成特征描述子
  6. 信息检索报告_iFixR:缺陷报告驱动程序修复
  7. jpa mysql乐观锁_JPA @Lock(value = LockModeType.PESSIMISTIC_WRITE) 悲观锁防坑
  8. c# bitmap 去除噪点_黑头怎么去除最有效用盐处理的方法推荐
  9. android android:process=,Android app启动流程
  10. Android数据存储之文件存储(瞬时数据的存储与读取)项目已上传GitHub