继承,是面向对象编程中一个极其重要的功能。子类可以继承父类的大部分功能(父类的私有属性无法被继承),并且可在不改动父类的情况下对这些功能进行扩展。
class Animal(object):
def__init__(self, name):
self.name = name
defeat(self):
print("{0} is eating".format(self.name))
defwalk(self):
print("{0} is walking".format(self.name))
class Dog(Animal):
# 构造函数的继承并重写
def__init__(self, name, age):
Animal.__init__(self, name)
self.age =age
# 普通方法的继承并重写
defeat(self):
print("{0} is eating, and he is {1} older".format(self.name,self.age))
class Cat(Animal):
# 普通方法的继承并重写
defwalk(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()
网友评论