1、继承的特性
'''
方法的覆写:和Java 类似,子类可以对父类的方法进行覆写,子类实例调用的时候如果子类覆写则调用子类的方法,否则调用父类的方法(就近原则)
'''
class Animal(object):
def __init__(self, name):
self._name = name
def run(self)->None:
print('动物在奔跑')
def eat(self, food: str)->None:
print('动物在吃:%s' % food)
@property
def name(self):
return self._name
@name.setter
def name(self, name):
self._name = name
class Dog(Animal):
def __init__(self, name, age):
super().__init__(name)
self._age = age
def bar(self):
print('狗在嚎叫!')
def run(self):
print('狗在奔跑~')
d1 = Dog('cris', 11)
d1.run()
d1.eat('狗粮')
d1.bar()
print(isinstance(d1, Dog))
print(isinstance(d1, Animal))
print(issubclass(Dog, Animal))
print(issubclass(Animal, Dog))
2、Python 的多继承(了解)
class A(object):
def __init__(self):
super(A, self).__init__()
def func_a(self):
print('A中的方法')
class B(object):
def __init__(self):
super(B, self).__init__()
def func_b(self):
print("B中的方法")
class C(A, B):
def __init__(self):
super(C, self).__init__()
c = C()
c.func_a()
c.func_b()
print(C.__bases__)