面向对象之继承

# 继承:父类又可以称为基类,超类;子类又可以称为派生类
# 继承的好处:
# 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查询执行顺序

 

posted @ 2018-07-25 21:21  python小Faker  阅读(148)  评论(0编辑  收藏  举报