动量(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
结语
今天的内容到此分享结束了,我们主要学习了类得到继承,包括构造方法继承,参数传入,值得注意的是子类的构造函数的参数必须包括父类的参数哦,不然,报错是肯定的咯,子类不仅可以继承父类的东西,也可以自己拥有方法和数据,非常灵活。类的继承得到出现,使得我们的代码得到了复用,开发速度更快。
编辑:玥怡居士|审核:小圈圈居士
▼
往期精彩回顾
▼
扫码关注我们
IT进阶之旅
我就知道你“在看”