首页 > 编程语言 > 详细

Python20-Day07

时间:2018-01-25 10:09:26      阅读:290      评论:0      收藏:0      [点我收藏+]

面向对象之继承与派生

什么是继承?

  继承是一种创建新类的方式,新建的类可以继承一个或者多个父类,父类又称为基类或者超类,新建的类称为派生类或者子类

  子类会‘遗传’父类的特性,从而解决代码重用问题

python中分为单继承和多继承

  

class ParentClass1: #定义父类
    pass

class ParentClass2: #定义父类
    pass

class SubClass1(ParentClass1): #单继承,父类是ParentClass1,子类是SubClass
    pass

class SubClass2(ParentClass1,ParentClass2): #python支持多继承,用逗号分隔开多个继承的类
    pass

 

查看继承

#print(SubClass1.__bases__)
(<class __main__.ParentClass1>,)


#print(SubClass2.__bases__)
(<class __main__.ParentClass1>, <class __main__.ParentClass2>)

 

经典类与新式类

1、只有python2中才分为经典类和新式类,python3中都是新式类

2、在python2中没有标明继承object类的类,以及该类的子类,都称为经典类

3、在python2中标明继承object类的类,以及该类的子类,称为新式类

4、python3中,无论是否继承object类,默认都继承object类,即python3中都为新式类

 

继承与抽象

继承描述的是子类与父类之间的关系,是什么是什么的关系,要找出这种关系,必须先抽象再继承

 

属性查找

class Foo:
    def f1(self):
        print(Foo.f1)

    def f2(self):
        print(Foo.f2)
        self.f1()

class Bar(Foo):
    def f1(self):
        print(Foo.f1)


b=Bar()
b.f2()

#得到的结果为:

 Foo.f2
 Foo.f1




 

Python20-Day07

原文:https://www.cnblogs.com/mrwang1101/p/8349661.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!