面向对象编程(Object-Oriented Programming,简称 OOP)是 Python 编程语言的核心特性之一。它提供了一种组织代码的方法,通过将数据和操作数据的方法封装在一起,创建出可重用和可扩展的程序。

什么是面向对象编程?

OOP 的核心思想是 封装继承多态

  • 封装:将数据和操作数据的函数组合在一起,形成一个“对象”。
  • 继承:允许一个类继承另一个类的属性和方法。
  • 多态:同一个方法在不同的对象上有不同的行为。

Python 中的类和对象

在 Python 中,我们可以使用 class 关键字来定义一个类。

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def bark(self):
        print(f"{self.name} says: Woof!")

在上面的例子中,Dog 是一个类,它有两个属性:nameage,还有一个方法 bark

我们可以创建 Dog 类的实例,也就是对象。

my_dog = Dog("Buddy", 5)
my_dog.bark()  # 输出: Buddy says: Woof!

继承和多态

Python 支持多继承,这意味着一个类可以继承多个父类的属性和方法。

class Puppy(Dog):
    def __init__(self, name, age, breed):
        super().__init__(name, age)
        self.breed = breed
    
    def bark(self):
        print(f"{self.name} says: Arf!")

在这个例子中,Puppy 类继承自 Dog 类,并添加了一个新的属性 breed

多态可以通过使用方法重写来实现。

class Cat:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def meow(self):
        print(f"{self.name} says: Meow!")

# 使用多态
animals = [Dog("Buddy", 5), Puppy("Max", 2, "Labrador"), Cat("Kitty", 3)]

for animal in animals:
    animal.bark() if isinstance(animal, Dog) else animal.meow()

在上面的代码中,我们创建了一个包含不同类型的动物的列表。我们遍历这个列表,并调用每个动物的 barkmeow 方法,根据它们的具体类型。

Python Dog

更多关于面向对象编程的内容