简介
面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,用于结构化和复用代码。在 Python 中,OOP 是通过使用类(Class)和对象(Object)来实现的。
类与对象
类的定义
使用 class 关键字来定义一个类。
            
            
              python
              
              
            
          
          class Dog:
    def __init__(self, name):
        self.name = name对象的创建
通过调用类的构造函数(__init__ 方法)来创建对象。
            
            
              python
              
              
            
          
          my_dog = Dog("Buddy")实例方法
在类中定义的函数称为实例方法。
            
            
              python
              
              
            
          
          class Dog:
    def __init__(self, name):
        self.name = name
    def bark(self):
        print("Woof, woof!")继承与多态
继承
通过继承,子类可以重用父类的代码。
            
            
              python
              
              
            
          
          class Animal:
    def make_sound(self):
        print("Some generic sound")
class Dog(Animal):
    def make_sound(self):
        print("Woof, woof!")多态
多态允许我们使用父类类型的变量来存储子类类型的对象。
            
            
              python
              
              
            
          
          my_animal = Animal()
my_dog = Dog()
animals = [my_animal, my_dog]
for animal in animals:
    animal.make_sound()封装与抽象
封装
封装是将对象的状态(属性)和行为(方法)包装在一个单一的单位中。
            
            
              python
              
              
            
          
          class Dog:
    def __init__(self, name, age):
        self.name = name
        self.__age = age  # 私有属性
    def get_age(self):  # 访问器方法
        return self.__age抽象
抽象是隐藏实现细节,只暴露必要的接口。
            
            
              python
              
              
            
          
          from abc import ABC, abstractmethod
class Animal(ABC):
    @abstractmethod
    def make_sound(self):
        pass静态方法与类方法
静态方法
不需要访问或修改类状态或实例状态的方法。
            
            
              python
              
              
            
          
          class Dog:
    @staticmethod
    def run():
        print("The dog is running.")类方法
需要访问类变量,但不需要访问实例变量的方法。
            
            
              python
              
              
            
          
          class Dog:
    total_dogs = 0
    def __init__(self, name):
        self.name = name
        Dog.total_dogs += 1
    @classmethod
    def dog_count(cls):
        return cls.total_dogs总结
面向对象编程(OOP)在 Python 中是一种非常有用的编程范式。它通过使用类和对象来增加代码的可读性、可维护性和可复用性。