一天一个Python知识点——Day 31:面向对象编程概念

一天一个Python知识点——Day 31:面向对象编程概念

🎯学习目标

理解面向对象编程(OOP)的基本思想,掌握类、对象、封装、继承和多态等核心概念,为后续深入学习Python面向对象编程打下基础。

📖核心知识点

  1. 什么是面向对象编程?

    • 一种编程范式,将数据和处理数据的方法组织为”对象”
    • 与现实世界建模方式相似,更容易理解和维护复杂程序
    • 主要特点:封装、继承、多态
  2. 核心概念解析

    **类(Class)**:对象的蓝图或模板,定义对象的属性和方法

    1
    2
    class Dog:  # 类定义    
    pass
  3. **对象(Object)**:类的实例,具有实际的数据和行为

    1
    my_dog = Dog()  # 创建对象
  4. **属性(Attributes)**:对象的状态或数据

    1
    2
    3
    class Dog:
    def __init__(self, name): # 初始化方法
    self.name = name # 实例属性
  5. **方法(Methods)**:对象的行为或功能

    1
    2
    3
    class Dog:
    def bark(self): # 方法定义
    print("Woof!")
  6. 面向对象三大特性

    • 通过访问控制(公有、保护、私有)实现信息隐藏
  7. **封装(Encapsulation)**:将数据和行为捆绑在一起,隐藏内部实现细节

  8. **继承(Inheritance)**:子类继承父类的属性和方法,实现代码复用

    1
    2
    3
    4
    5
    6
    7
    class Animal:  # 父类
    def eat(self):
    print("Eating...")

    class Dog(Animal): # 子类继承父类
    def bark(self):
    print("Woof!")
  9. **多态(Polymorphism)**:不同对象对同一消息做出不同响应

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class Cat(Animal):
    def make_sound(self):
    print("Meow!")

    class Dog(Animal):
    def make_sound(self):
    print("Woof!")

    # 多态示例
    animals = [Cat(), Dog()]
    for animal in animals:
    animal.make_sound() # 同一方法,不同表现

💻动手尝试

  1. 创建一个Person类,包含nameage属性以及introduce方法
  2. 创建两个不同的Person对象并调用其方法
  3. 创建一个Student类继承Person,添加student_id属性和study方法

❗注意事项

  • 类名通常使用驼峰命名法(如MyClass
  • 方法第一个参数通常是self,表示对象自身
  • 面向对象不是万能的,简单任务可能不需要使用类

今日总结:面向对象编程是Python进阶的重要基础,理解类、对象和三大特性是掌握Python高级编程的关键。明天我们将深入学习类与对象的实际创建和使用!