面向对象编程(Object-Oriented Programming,简称 OOP)是一种编程范式,它将数据与行为封装在对象中。Python 作为一种高级编程语言,也支持面向对象编程。

目录

  1. 什么是面向对象编程?
  2. Python 中的类和对象
  3. 继承
  4. 多态
  5. 更多资源

什么是面向对象编程?

面向对象编程是一种编程范式,它将数据和行为封装在对象中。每个对象都是类的实例,类是对象的蓝图。

类和对象

在 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

继承

继承是一种允许一个类继承另一个类的属性和方法的技术。这有助于代码复用和减少冗余。

class Puppy(Dog):
    def __init__(self, name, age):
        super().__init__(name, age)
        self.trick = "roll over"

    def play_trick(self):
        print(f"{self.name} is playing {self.trick}")

在这个例子中,Puppy 类继承自 Dog 类,并添加了一个新方法 play_trick

多态

多态是一种允许不同类的对象对同一消息作出响应的技术。

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

    def bark(self):
        print(f"{self.name} says: Meow!")

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

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

def animal_sound(animal):
    animal.bark()

cat = Cat("Whiskers", 3)
dog = Dog("Buddy", 5)

animal_sound(cat)  # 输出: Whiskers says: Meow!
animal_sound(dog)  # 输出: Buddy says: Woof!

在这个例子中,animal_sound 函数接受一个动物对象,并调用它的 bark 方法。无论传入的是猫还是狗,bark 方法都会被正确调用。

更多资源

如果您想了解更多关于 Python 面向对象编程的信息,请访问我们的 Python 面向对象编程指南

Python