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) #经典类写法

浙公网安备 33010602011771号