python 入坑路--新式类,经典类

一、概述

  在python中还支持多继承,但是一般很少用,有些编程语言干脆就不支持多继承,有多继承,就会带来两个概念,

经典类和新式类,下面来看看什么是多继承,什么是经典类和新式类。

二、类的多继承

定义:单继承,就是一个子类继承一个父类, 多继承,就是一个子类继承多个父类

class Wolf(object):
    '''    狼类    '''
    def __init__(self,name):
        self.name=name

    def bite(self):
        print("%s is biting your ..." %self.name)

class Person(object):
    '''人类'''
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def run(self):
        print("%s is running..." %self.name)

class WerePerson(Person,Wolf):
#class WerePerson(Wolf,Person):
    '''狼人'''
    def __init__(self,name,age,sex):
        #super(WerePerson, self).__init__(name)
        super(WerePerson,self).__init__(name,age)

        self.sex=sex

wp=WerePerson("牛逼",18,"M")

  三、新式类、经典类

1、概念

  新式类定义时继承了object类,被定义继承了object类的,就叫新式类

2、by the way ,在py 2.7中,经典类的继承是深度查找,新式类是广度查找。在py 3 中无论经典类、新式类都是广度查找

class Dog(object):
  def __init_(self,name,age)
    self.name=name
    self.age=age   pass

#继承时构造函数,两种不同写法

class Wolf_dog(Dog):
  def __init__(self,name,age)
    super(Wolf_dog,self).__init__(name,age) #新式类写法
    #Dog.__init__(self,name,age) #经典类写法

 

posted @ 2018-02-02 10:33  东郭仔  阅读(140)  评论(0)    收藏  举报