码迷,mamicode.com
首页 > 编程语言 > 详细

Python20-Day07

时间:2018-01-25 10:59:34      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:style   gpo   多个   col   python2   main   def   描述   elf   

面向对象之继承与派生

什么是继承?

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

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

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

标签:style   gpo   多个   col   python2   main   def   描述   elf   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!