Python面向对象中的继承是什么意思

  介绍

这篇文章给大家分享的是有关Python面向对象中的继承是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

<强> 1,什么是继承?

继承指的是类与类之间的关系,是一种什么是什么的关系,功能之一就是用来解决代码重用问题。

继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类,继承又分为单继承和多继承。

类ParentClass1: #定义父类   通过   类ParentClass2: #定义父类   通过   类SubClass1 (ParentClass1): #单继承,基类是ParentClass1,派生类是子类   通过   python类SubClass2 (ParentClass1 ParentClass2): #支持多继承,用逗号分隔开多个继承的类   通过   打印(Son1.__bases__) #查看所有继承的父类   打印(Son2.__bases__)===============(& lt;类& # 39;__main__.Father1& # 39;祝辞,)   (& lt;类& # 39;__main__.Father1& # 39;祝辞,& lt;类& # 39;__main__.Father2& # 39;祝辞)

<强> 2,继承与抽象

抽象分成两个层次:

1。将奥巴马和梅西这俩对象比较像的部分抽取成类;

2。将人、猪、狗这三个类比较像的部分抽取成父类。

抽象最主要的作用是划分类别(可以隔离关注点,降低复杂度)

 Python面向对象中的继承是什么意思

<强>继承:

是基于抽象的结果,通过编程语言去实现它,肯定是先经历抽象这个过程,才能通过继承的方式去表达出抽象的结构。

抽象只是分析和设计的过程中,一个动作或者说一种技巧,通过抽象可以得到类。

 Python面向对象中的继承是什么意思

类动物():#定义父类=& # 39;国家中国# 39;#这个叫类的变量   def __init__(自我、名字、年龄):   self.name=名字#这些又叫数据属性   self.age=年龄   def走(自我):#类的函数,方法,动态属性   打印(& # 39;% s走# 39;% self.name)   def(自我)说:   通过   类人(动物):#子类继承父类   通过   类猪(动物):#子类继承父类   通过   类的狗(动物):#子类继承父类   通过   aobama=人(& # 39;aobama& # 39; 60) #实例化一个对象   打印(aobama.name)   aobama.walk ()===================aobama   aobama走

<强> 3,派生

1。在父类的基础上产生子类,产生的子类就叫做派生类。

2。父类里没有的方法,在子类中有了,这样的方法就叫做派生方法。

3。父类里有,子类也有的方法,就叫做方法的重写(就是把父类里的方法重写了).

例1

类英雄:   def __init__(自我,昵称,   攻击力,   life_value):   自我。昵称=昵称   自我。侵袭力=攻击力   自我。life_value=https://www.yisu.com/zixun/life_value   def攻击(自我,敌人):   的敌人。life_value -=self.aggressivity   类Garen(英雄):#子类继承英雄父类   营=' Demacia ' #子类衍生出的变量   def攻击(自我,敌人):#跟父类的攻击重名,对象调用的时候以子类的为准   通过   def火(自我):#父类没有火,这火里属于派生出来的东西   打印(“% s射击”% self.nickname)   类分裂(英雄):   营=' Noxus '   g1=Garen (' Garen ', 18200)   r1=撕裂(rivren, 18200)   #打印(g1.camp)   #打印(r1.camp)   # g1.fire ()   g1.attack (g1)

2例

类英雄:   def __init__(自我,昵称,攻击力,life_value):   自我。昵称=昵称   自我。侵袭力=攻击力   自我。life_value=https://www.yisu.com/zixun/life_value   def攻击(自我,敌人):   打印(“英雄攻击”)   类Garen(英雄):   营=' Demacia '   def攻击(自我,敌人):#自我=g1,敌人=r1   # self.attack(敌人)# g1.attack (r1),这里相当于无限递归   Hero.attack(自我,敌人)#引用父类的攻击,对象会去跑父类的攻击   打印(garen攻击)#再回来这里   def火(自我):   打印(“% s射击”% self.nickname)   类分裂(英雄):   营=' Noxus '   g1=Garen (Garen, 18, 200)   r1=撕裂(rivren, 18, 200)   g1.attack (r1)   #打印(g1.camp)   #打印(r1.camp)   # g1.fire ()

<强> 4组合与重用性

重用性:

Python面向对象中的继承是什么意思