第三章:面向对象编程 (OOP)
📖 本章内容
本章将学习 Python 面向对象编程的核心概念,包括:
- 类和对象基础 (
01_classes_objects.py) - 属性和方法 (
02_attributes_methods.py) - 继承和多态 (
03_inheritance.py) - 封装和访问控制 (
04_encapsulation.py) - 特殊方法和运算符重载 (
05_special_methods.py) - 设计模式入门 (
06_design_patterns.py)
🎯 学习目标
完成本章后,您将能够:
- ✅ 理解面向对象编程的基本概念
- ✅ 设计和实现自己的类
- ✅ 掌握继承、封装、多态三大特性
- ✅ 使用特殊方法定制类的行为
- ✅ 应用常见的设计模式
- ✅ 编写可维护和可扩展的代码
🏗️ OOP 核心概念
四大支柱
- 封装 (Encapsulation) - 数据和方法的绑定
- 继承 (Inheritance) - 代码重用和扩展
- 多态 (Polymorphism) - 同一接口的不同实现
- 抽象 (Abstraction) - 隐藏复杂性,暴露简单接口
关键术语
- 类 (Class) - 对象的蓝图或模板
- 对象 (Object) - 类的实例
- 属性 (Attribute) - 对象的数据
- 方法 (Method) - 对象的行为
- 构造函数 - 初始化对象的特殊方法
📚 学习路径
基础概念 → 类设计 → 继承关系 → 封装控制 → 特殊方法 → 设计模式
🚀 快速开始
运行单个示例
# 运行第一课:类和对象基础
python 01_classes_objects.py
# 运行第二课:属性和方法
python 02_attributes_methods.py
# 运行第三课:继承和多态
python 03_inheritance.py
# 运行第四课:封装和访问控制
python 04_encapsulation.py
# 运行第五课:特殊方法和运算符重载
python 05_special_methods.py
# 运行第六课:设计模式入门
python 06_design_patterns.py
运行所有示例
# 交互式运行所有课程
python run_all.py
📋 章节概览
第1课:类和对象基础
- 类的定义和基本语法
- 对象的创建和使用
- 构造函数
__init__ - 实例属性和类属性
- 实例方法、类方法和静态方法
- 银行账户和计算器实例
第2课:属性和方法高级特性
- 属性装饰器 (@property)
- 私有属性和方法
- 特殊方法 (魔术方法)
- 方法重载和多态
- 描述符和元类基础
- 学生管理系统实例
第3课:继承和多态
- 单继承和多重继承
- 方法解析顺序 (MRO)
- 方法重写和 super()
- 抽象基类 (ABC)
- 多态的实现和应用
- 动物管理系统实例
第4课:封装和访问控制
- 封装的概念和重要性
- 私有属性和方法的实现
- 属性装饰器的高级用法
- getter 和 setter 方法
- 访问控制的最佳实践
- 智能设备和用户账户实例
第5课:特殊方法和运算符重载
- 特殊方法(魔术方法)概述
- 对象创建和销毁控制
- 字符串表示方法定制
- 算术和比较运算符重载
- 容器类型方法实现
- 复数和矩阵类实例
第6课:设计模式入门
- 设计模式的概念和分类
- 单例模式的多种实现
- 工厂模式和抽象工厂
- 观察者模式的事件处理
- 装饰器模式的功能扩展
- 策略模式的算法切换
- 文档处理系统综合实例
💡 最佳实践
命名规范
- 类名使用 PascalCase (如
StudentManager) - 方法和属性使用 snake_case (如
get_name)
- 类名使用 PascalCase (如
设计原则
- 单一职责原则 (SRP)
- 开闭原则 (OCP)
- 里氏替换原则 (LSP)
- 接口隔离原则 (ISP)
- 依赖倒置原则 (DIP)
代码组织
- 相关的类放在同一个模块
- 使用文档字符串描述类和方法
- 合理使用私有属性和方法
- 遵循设计模式的最佳实践
🔧 学习建议
- 循序渐进 - 按顺序学习,每个概念都建立在前面的基础上
- 动手实践 - 运行每个示例,修改代码观察结果
- 理解原理 - 不仅要知道怎么做,更要理解为什么这样做
- 应用实践 - 尝试用学到的概念解决实际问题
- 代码重构 - 用面向对象的思想重构之前的代码
准备好进入面向对象的世界了吗? 🚀
