面向对象编程(OOP)是 Python 中一个核心概念。本教程将介绍面向对象编程的基本概念,包括类(Class)、对象(Object)、继承(Inheritance)和多态(Polymorphism)。

类与对象

在 Python 中,类是用来创建对象的蓝图。对象是类的实例。

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        return f"{self.name} says: Woof!"

# 创建对象
my_dog = Dog("Buddy", 5)

# 使用对象
print(my_dog.bark())

在上面的例子中,Dog 是一个类,my_dog 是它的一个实例。

继承

继承是面向对象编程的另一个重要概念。它允许一个类继承另一个类的属性和方法。

class Puppy(Dog):
    def __init__(self, name, age, breed):
        super().__init__(name, age)
        self.breed = breed

    def get_breed(self):
        return self.breed

# 创建继承自 Dog 的对象
puppy = Puppy("Max", 2, "Golden Retriever")

# 使用继承的方法
print(puppy.get_breed())

在上面的例子中,Puppy 类继承自 Dog 类。

多态

多态是指同一个方法在不同的对象上有不同的行为。

class Cat:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def meow(self):
        return f"{self.name} says: Meow!"

# 定义一个方法,接受任何动物
def animal_sound(animal):
    if isinstance(animal, Dog):
        return animal.bark()
    elif isinstance(animal, Cat):
        return animal.meow()
    else:
        return "I don't know what that animal sounds like!"

# 使用多态
print(animal_sound(my_dog))  # 输出: Buddy says: Woof!
print(animal_sound(puppy))   # 输出: Max says: Meow!

在上面的例子中,animal_sound 方法可以接受任何类型的动物对象,并调用相应的方法。

更多关于 Python 面向对象编程的内容,请访问Python 面向对象编程教程

dog