# 继承:父类又可以称为基类,超类;子类又可以称为派生类 # 继承的好处: # a,提高了代码的复用性 # b:提高了代码的维护性 # c:让类与类之间产生了关系,是多态的前提 # class Animal: # def __init__(self,name,sex): # self.name=name # self.sex=sex # def eat(self,a): # print("都得吃%s"%a) # def drink(self): # print("都得喝") # class Dog(Animal): # def __init__(self,name,sex,Varieties): # # Animal.__init__(self,name,sex) # super().__init__(name, sex) # self.Varieties=Varieties # def bite(self): # print("咬人") # def eat(self,a): # # Animal.eat(1) # super().eat(a) # print("吃肉") # class Cat(Animal): # def Oestrus(self): # print("发情") # class Chicken(Animal): # def lay(self): # print("下蛋") # d1=Dog("Tom","公","哈士奇") # d1.eat("肉") # print(d1.__dict__) # 初识继承: # 只执行本类的方法 # 只执行父类的方法. # 既执行本类又执行父类的方法 # 父类名.方法名(参数) # super().方法名(参数(self自动传值)) # 继承分为:单继承和多继承 # 类可以分为经典类和新式类,python3中全为新式类,而python2中加object的都为新式类,其他都是经典类 # 单继承中经典类和新式类执行相同方法顺序是相同的 # 多级承中:新式类执行顺序是广度优先,意思是一条路走到倒数第二级,判断,如果其他路能走到终点,则返回走另一条路.如果不能,则走到终点. # 经典类中执行顺序是深度优先,意思是一条路走到底. # class A: # def func(self): # print("A") # class B(A): # def func(self): # print("B") # class C(A): # def func(self): # print("C") # class D(B): # def func(self): # print("D") # class E(C): # def func(self): # print("E") # class F(D): # def func(self): # print("F") # class G(F,E): # def func(self): # print("G") # g=G() # g.func() # print(G.mro())#.mro查询执行顺序