掌握面向对象编程的基本概念和Python类的定义,学会设计和实现完整的类结构。
- 面向对象编程的基本概念
- 类的定义和实例化
- 实例属性和类属性
- 实例方法、类方法和静态方法
- 构造方法__init__和析构方法__del__
- 属性访问控制:公有、私有、保护
- self参数的理解
- 对象的内存管理
- 继承和多态的基础应用
学习内容:
- 类的基本语法和定义
- 类的命名规范
- 简单类的创建和使用
- 类和对象的概念区别
重点知识点:
class关键字的使用- 类名的命名规范(PascalCase)
- 类的基本结构
- 对象的创建和使用
运行方式:
python3 01_defining_classes.py学习内容:
- 对象的实例化过程
- 多个对象的创建和管理
- 对象的独立性
- 对象的内存分配
重点知识点:
- 实例化的概念和过程
- 对象的唯一性
- 内存中的对象存储
- 对象引用和赋值
运行方式:
python3 02_creating_objects.py学习内容:
- 实例方法的定义和调用
- self参数的理解和使用
- 方法的参数传递
- 方法的返回值
- 方法链式调用
- 私有方法和公有方法
重点知识点:
self参数的作用- 实例方法的调用机制
- 方法的封装性
- 特殊方法(魔术方法)
运行方式:
python3 03_instance_methods.py学习内容:
- 实例属性的创建和访问
- 属性的动态添加和删除
- 属性的类型验证
- property装饰器的使用
- 描述符的基础应用
重点知识点:
- 实例属性 vs 类属性
- 属性的getter和setter
@property装饰器- 属性验证和控制
运行方式:
python3 04_instance_attributes.py学习内容:
- 构造方法的定义和使用
- 初始化参数的处理
- 默认参数和可变参数
- 构造方法中的验证和异常处理
- 继承中的构造方法调用
重点知识点:
__init__方法的作用- 对象初始化过程
- 参数验证和异常处理
- 类方法作为替代构造器
运行方式:
python3 05_constructor_method.py学习内容:
- Python中的访问控制机制
- 私有属性的实现(名称修饰)
- getter和setter方法
- property装饰器的高级使用
- 访问控制的最佳实践
重点知识点:
- 单下划线和双下划线的区别
- 名称修饰(Name Mangling)
- 封装的概念和实现
- 访问控制的设计原则
运行方式:
python3 06_private_attributes.py学习内容:
- 类属性的定义和使用
- 类属性与实例属性的区别
- 类方法和静态方法
- 类方法的装饰器使用
- 类属性的继承和重写
重点知识点:
@classmethod和@staticmethod装饰器- 类属性的共享性
- 类方法的应用场景
- 静态方法的使用时机
运行方式:
python3 07_class_attributes.py学习内容:
- 银行账户管理系统
- 学生成绩管理系统
- 图书馆管理系统
- 员工管理系统
- 完整的面向对象设计实践
重点知识点:
- 复杂类的设计和实现
- 类之间的关系和交互
- 继承和多态的应用
- 实际业务逻辑的面向对象建模
运行方式:
python3 08_exercises.py- 学习
01_defining_classes.py- 理解类和对象的基本概念 - 学习
02_creating_objects.py- 掌握对象的创建和实例化 - 完成基础练习,创建简单的类
- 学习
03_instance_methods.py- 掌握实例方法的使用 - 学习
04_instance_attributes.py- 理解属性的操作和管理 - 学习
05_constructor_method.py- 掌握构造方法的使用 - 练习设计包含方法和属性的类
- 学习
06_private_attributes.py- 掌握访问控制机制 - 学习
07_class_attributes.py- 理解类属性和类方法 - 练习设计更复杂的类结构
- 学习
08_exercises.py- 完成综合练习项目 - 独立设计和实现完整的类系统
- 总结面向对象编程的设计原则
-
理解类和对象的关系
- 类是对象的模板
- 对象是类的实例
- 一个类可以创建多个对象
-
掌握类的定义和实例化
- 使用
class关键字定义类 - 使用类名()创建对象
- 理解实例化过程
- 使用
-
学会使用不同类型的方法
- 实例方法:操作实例数据
- 类方法:操作类数据
- 静态方法:独立的工具函数
-
理解属性访问控制机制
- 公有属性:可以自由访问
- 私有属性:使用双下划线前缀
- 保护属性:使用单下划线前缀
-
练习设计简单的类结构
- 确定类的职责和功能
- 设计合理的属性和方法
- 考虑封装性和可扩展性
-
掌握继承和多态
- 理解继承的概念和语法
- 学会方法重写
- 理解多态的实现
-
学会异常处理
- 在方法中添加参数验证
- 抛出和处理自定义异常
- 保证程序的健壮性
-
实践设计模式
- 单例模式
- 工厂模式
- 观察者模式
- Python 3.6+
- 支持面向对象编程的IDE或文本编辑器
# 进入目录
cd 19-classes-objects
# 按顺序运行所有文件
python3 01_defining_classes.py
python3 02_creating_objects.py
python3 03_instance_methods.py
python3 04_instance_attributes.py
python3 05_constructor_method.py
python3 06_private_attributes.py
python3 07_class_attributes.py
python3 08_exercises.py-
循序渐进:按照文件编号顺序学习,每个概念都建立在前面的基础上
-
动手实践:不要只看代码,要亲自运行和修改
-
理解概念:重点理解面向对象的核心概念:封装、继承、多态
-
设计思维:学会从面向对象的角度分析和设计问题
-
代码规范:遵循Python的命名规范和编码风格
-
调试技巧:学会使用调试工具查看对象的状态
-
扩展练习:尝试修改示例代码,添加新功能
-
项目实践:完成综合练习后,尝试设计自己的项目
A:
- 类方法:需要访问类属性或创建类实例时使用
- 静态方法:功能独立,不需要访问类或实例数据时使用
A:
- 内部实现细节使用私有属性
- 需要外部访问的数据使用公有属性
- 需要控制访问的属性使用property装饰器
A:
- 存在"是一个"关系时使用继承
- 需要扩展现有类的功能时
- 多个类有共同特征时
完成本模块后,建议继续学习:
- 20-inheritance-polymorphism - 继承和多态
- 21-special-methods - 特殊方法和运算符重载
- 22-design-patterns - 设计模式
- 23-advanced-oop - 高级面向对象编程