python提升篇(七)---类的继承

动量(Momentum)又称线性动量(Linear Momentum)。在经典力学中,动量(是指国际单位制中的单位为kg·m/s ,量纲MLT⁻¹)表示为物体的质量和速度的乘积,是与物体的质量和速度相关的物理量,指的是运动物体的作用效果。动量也是矢量,它的方向与速度的方向相同。                                                               

科普

知识

前言

     在上周的文章中,我们主要学习了python面向对象的机制,学习了类的创建,实例化,构造函数(初始化函数),属性使用(类的变量和方法)。今天我们将继续学习类的新知识--类的继承

一、类的继承

     在讲解类的继承之前,我们首先来了解一下类的出现背景,换个话题就是,我们为啥要学习类的继承,它到底有什么好处?带着对问题的兴趣,我们再出发,要回答以上问题,我们首先从含义进行解释,类的继承的最后两个字与我们日常生活中的定义几乎一模一样,就像是子辈继承父辈的意思一样,通过继承,子辈就可以使用父辈的全部东西(房子,车子,票子),这样子辈就可以不用再去卖力的工作了,夸张点可以理解为不劳而获。是的,的确是这样,类的继承也是这样的机制,子类通过继承父类就可以使用父类数据变量,方法等等,这样子类就不需要去重复定义父类有的东西了。

     因此,当我们定义一个类只有,在别的地方想用到这个类的成员(数据,方法等),而且还要在这个地方有自己独特的东西,怎么把办呢?重新定义一个类?那不行,太麻烦了,多了的话,就会造成代码冗余,怎么办呢,于是类的继承应运而生,继承父类的所有东西,然后自己也可以单独有自己的东西,这样不是很好吗?于是,最开始的类就成为了父类(基类),继承的类就成为子类(派生类,跟英语里面的派生词意思类似)

     解释如此,那么,类的继承到底有何好处呢?

     1.代码复用,将之前的代码重复使用,减少冗余

     2.代码逻辑结构清晰,便于阅读和修改。

1.1 子类的创建

class 子类名(父类名)

     子类实体

1.2 实例创建

# -*- coding: UTF-8 -*-
'''代码步骤:
1.先定义父类
2.然后继承父类
3.调用父类资源
'''


# 定义一个父类
class Parent:        
   parent_str = "世外居士"
   parent_number = "IT_001"


   def __init__(self, x, y):
      print("这是一个父类")
      self.x = x
      self.y = y


    # 定义一个父类方法
   def add(self):
       result = self.x + self.y
       print("父类的加法结果:{}".format(result))


   def print_info(self):
      print("父类的数据1:{}\n父类的数据1:{}".format(Parent.parent_str,Parent.parent_number))


# 定义子类
class Child(Parent): 
   def __init__(self, x, y):
      Parent.__init__(self, x, y)
      print("这是一个子类")
 
   def child_mul(self):
      print("mul:{}".format(3*5))
 
# 子类的实例化, 并传给父类中定义需要的参数
child_real = Child(3,5)     
# 调用子类自己的的方法    
child_real.child_mul()      
# 调用父类方法
child_real.add()     
# 调用父类方法
child_real.print_info()

1.3 代码解读

     由上面的代码可知,我们定义了一个父类(parent),然后定义了一个子类(child)去继承它,首先看父类,这里面有两个属性和两个方法,第一个方法是接收外部传入参数,然后进行加法运算,最后打印出来,第二个方法是打印父类本身的两个属性(数据成员),再看子类,子类的构造函数也对父类函数构造函数进行了继承(记得形参也加进去),然后定义了自己本身的方法。

     在实例化子类的时候,我们传入了父类所需要的参数,这里是3,5,首先调用了子类本身的方法(child_mul),随后调用了父类的add方法(刚才的3,5就是用在这个函数里边),最后调用了父类的print_info方法,将父类的两个属性进行了打印。

END

结语

      今天的内容到此分享结束了,我们主要学习了类得到继承,包括构造方法继承,参数传入,值得注意的是子类的构造函数的参数必须包括父类的参数哦,不然,报错是肯定的咯,子类不仅可以继承父类的东西,也可以自己拥有方法和数据,非常灵活。类的继承得到出现,使得我们的代码得到了复用,开发速度更快。

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

往期精彩回顾

python提升篇(六)---面向对象

python提升篇(五) -----实例练习第04day

python提升篇(四)-----实例练习第03day

扫码关注我们

IT进阶之旅

我就知道你“在看”

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值