一文了解什么是Python面向对象中的继承
1个回答
展开全部
1、什么是继承?
继承指的是类与类之间的关系,是一种什么是什么的关系,功能之一就是用来解决代码重用问题。
继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类,继承又分为单继承和多继承。
class ParentClass1: #定义父类
pass
class ParentClass2: #定义父类
pass
class SubClass1(ParentClass1): #单继承,基类是ParentClass1,派生类是SubClass
pass
class SubClass2(ParentClass1,ParentClass2): #python支持多继承,用逗号分隔开多个继承的类
pass
print(Son1.__bases__) # 查看所有继承的父类
print(Son2.__bases__)
===============
(<class '__main__.Father1'>,)
(<class '__main__.Father1'>, <class '__main__.Father2'>)2、继承与抽象
抽象分成两个层次:
1.将奥巴马和梅西这俩对象比较像的部分抽取成类;
2.将人,猪,狗这三个类比较像的部分抽取成父类。
抽象最主要的作用是划分类别(可以隔离关注点,降低复杂度)
继承:
是基于抽象的结果,通过编程语言去实现它,肯定是先经历抽象这个过程,才能通过继承的方式去表达出抽象的结构。
抽象只是分析和设计的过程中,一个动作或者说一种技巧,通过抽象可以得到类。
class animal(): # 定义父类
country = 'china' # 这个叫类的变量
def __init__(self,name,age):
self.name=name # 这些又叫数据属性
self.age=age
def walk(self): # 类的函数,方法,动态属性
print('%s is walking'%self.name)
def say(self):
pass
class people(animal): # 子类继承父类
pass
class pig(animal): # 子类继承父类
pass
class dog(animal): # 子类继承父类
pass
aobama=people('aobama',60) # 实例化一个对象
print(aobama.name)
aobama.walk()
===================
aobama
aobama is walking3、派生
1.在父类的基础上产生子类,产生的子类就叫做派生类。
2.父类里没有的方法,在子类中有了,这样的方法就叫做派生方法。
3.父类里有,子类也有的方法,就叫做方法的重写(就是把父类里的方法重写了)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询