高级面向对象编程
面向对象编程(Object-Oriented Programming,简称 OOP)是 Python 的核心编程范式之一。Python 不仅支持基础的面向对象特性,如类和对象,还支持更高级的特性,如继承、多态、封装、抽象以及元类等。这些特性使得 Python 的面向对象编程更具灵活性和可扩展性。
1. 类的继承
继承是面向对象编程中一个核心概念,它允许一个类继承另一个类的属性和方法。通过继承,子类可以复用父类的代码,同时也可以添加新的功能,或重写父类的功能。
1.1 单继承
单继承是指一个类只继承一个父类。在 Python 中,使用 class SubClass(ParentClass)
来定义子类。
示例:单继承
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print(f"{
self.name} makes a sound.")
class Dog(Animal):
def speak(self):
print(f"{
self.name} barks.")
dog = Dog("Buddy")
dog.speak() # 输出: Buddy barks.
1.2 多继承
Python 支持多继承,一个类可以同时继承多个父类。多继承虽然提供了灵活性,但也容易引发复杂性,尤其是涉及到多个父类有相同方法时。
示例:多继承
class Animal:
def move(self):
print("Animal moves.")
class Flyer:
def move(self):
print(