Python中面向对象编程:继承与多态实践案例
在Python中,面向对象编程(Object-Oriented Programming, OOP)是实现程序模块化和复用的关键。这里我们将重点介绍继承和多态的实践案例。
- 继承(Inheritance)
继承是子类自动获得父类所有属性和方法的过程。Python中的继承语法如下:
class ParentClass:
# 父类代码
class ChildClass(ParentClass):
# 子类代码,可以覆盖或扩展父类的方法
- 多态(Polymorphism)
多态是指一个接口或者抽象类可以被不同的子类重写,并在父类中调用这些重写的子类方法。
Python中的多态实践案例:
# 定义父类
class Animal:
def __init__(self, name):
self.name = name
# 父类方法
def speak(self):
return f"{self.name} speaks."
# 子类一(鸟)
class Bird(Animal):
def __init__(self, name, can_fly=True):
super().__init__(name)
self.can_fly = can_fly
# 子类方法
def speak(self):
return f"{self.name} says {super().speak()} and can fly if able."
# 子类二(狗)
class Dog(Animal):
def __init__(self, name, can_bark=True):
super().__init__(name)
self.can_bark = can_bark
# 子类方法
def speak(self):
return f"{self.name} barks {super().speak()}."
# 父类方法调用多态
animal_list = [Bird("sparrow"), can_fly=False), Dog("Rex", can_bark=True)]
for animal in animal_list:
print(animal.speak())
上述例子中,我们定义了父类Animal
和两个子类Bird
和Dog
。通过继承和多态的特性,不同类型的动物在调用speak()
方法时表现出了不同的行为。
还没有评论,来说两句吧...