首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python提升篇(八)---方法重写

python提升篇(八)---方法重写

作者头像
用户5410712
发布2022-06-01 18:41:45
发布2022-06-01 18:41:45
7220
举报
文章被收录于专栏:居士说AI居士说AI

艾萨克·牛顿(1643年1月4日—1727年3月31日)爵士,英国皇家学会会长,英国著名的物理学家,百科全书式的“全才”,著有《自然哲学的数学原理》、《光学》。

他在1687年发表的论文《自然定律》里,对万有引力和三大运动定律进行了描述。这些描述奠定了此后三个世纪里物理世界的科学观点,并成为了现代工程学的基础。他通过论证开普勒行星运动定律与他的引力理论间的一致性,展示了地面物体与天体的运动都遵循着相同的自然定律;为太阳中心说提供了强有力的理论支持,并推动了科学革命。

前言

在上一期的文章中,我们学习了Python面向对象的类的继承,了解到通过继承可以直接得到父类的数据和方法,因此就不需要再一次定义相似的类,这些都为以后的开发工作节省了很多时间。今天我们将会继续学习Python面向对象之-----方法重写。

一、方法重写

在之前我们学习了继承,虽然很实用,但是,还是存在一点问题,子类从父类继承了所有的方法后,如果突然要使用某个父类方法,但是父类的方法又不能满足我们现在的需求又该怎么办呢?一般情况是,你可能会重新定义一个方法,如果这个方法还需要使用父类中其他属性(数据,变量),那么我们定义的方法将会是十分冗余的,有没有一种更好的方法呢?是的,方法重写由此诞生,我们可以将父类的某个方法进行重新书写代码,在里面添加我们想要的方法,如此,就不需要再去定义别的属性,直接使用父类的各种属性,这不是很好吗?

1.1 重写模板

class 子类名(父类名)

def 分类方法名()

想要增加的代码

1.2 实例创建

代码语言:javascript
复制
# -*- coding: UTF-8 -*-

# 定义一个父类
class Car:        

   def __init__(self):
      print("这是一个父类")

    # 定义一个父类方法
   def Car_number(self):

       print("Car包含很多car")
 
   def Car_style(self):
      print("Car_style 包含车的款式")


# 定义子类
class s_car(Car): 

   def __init__(self):
      #Car.__init__(self)
      print("这是一个子类 S_car")

   # 方法重写
   def Car_style(self):
      print("现在该方法为子类重写后的方法")
 
# 子类的实例化, 并传给父类中定义需要的参数
s_car_real = s_car()
s_car_real.Car_style()

1.3 代码解读

从上面的代码中,我们其实很容易看出方法重写具体体现在哪里。首先,我们新建了一个父类Car,父类中有一个方法叫做Car_style(),随后定义了一个子类去继承Car这个父类,方法重写就在于子类的类体中包含了一个与父类方法名一样的方法,但是这个方法却和之前的执行操作不一样了,之前是print("Car_style 包含车的款式"),现在是print("现在该方法为子类重写后的方法"),换句话说,虽然现在的方法名跟父类里面的一样,但是他们的实现功能已经不一样了,因此,我们可以称之为方法重写。

1.4 实验结果

END

结语

今天的分享到此结束了,方法重写比较好理解,但是使用的时候要注意,方法名必须保证跟父类一样,否则就不是重写了,通过重写,我们可以摒弃父类中不需要的东西,然后加入我们需要的东西。

相比于网络上很多长篇大论的文章,我们这系列的文章其实都比较短,这样的考虑在于初学的人能够循序渐进,而不是急躁的学习,认真弄懂每一个知识点,方才学得扎实,同时这样短的文章方便大家花费很少的时间掌握,可能睡前的半小时也就学了一个知识点。如此,甚好。

编辑:玥怡居士|审核:小圈圈居士

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT进阶之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档