类的继承
继承,是面向对象编程中一个极其重要的功能。子类可以继承父类的大部分功能(父类的私有属性无法被继承),并且可在不改动父类的情况下对这些功能进行扩展。
class Animal(object):
def __init__(self, name):
self.name = name
def eat(self):
print("{0} is eating".format(self.name))
def walk(self):
print("{0} is walking".format(self.name))
class Dog(Animal):
# 构造函数的继承并重写
def __init__(self, name, age):
Animal.__init__(self, name)
self.age =age
# 普通方法的继承并重写
def eat(self):
print("{0} is eating, and he is {1} older".format(self.name,self.age))
class Cat(Animal):
# 普通方法的继承并重写
def walk(self):
print("{0} is walking".format(self.name))
if __name__ == '__main__':
animal = Animal("animal")
dog = Dog("dog", 1) # Dog类继承Aniamal类的构造函数并进行了重写,增加了一个参数
cat = Cat("cat") # Cat类直接继承Aniamal类的构造函数
animal.eat()
animal.walk()
dog.eat()
dog.walk()
cat.eat()
cat.walk()