核心概念:Python无处不对象
- 类比:开车不用懂原理,赛车手必须懂 → 学用对象vs精通面向对象
- 本质:更高级别的封装 = 数据封装 + 代码封装
对象的构成:属性 + 方法
- 属性:静态特征 → 对应代码中的变量
- 示例:乌龟(绿色、四条腿、20斤、硬壳);人(外貌特征)
- 方法:动态行为 → 对应代码中的函数
- 示例:乌龟(爬、跑、咬人、吃东西、睡觉);人(唱歌、跳舞、打球)
类与实例对象
- 类(class):对象的"模具/图纸"
- 命名约定:类名以大写字母开头(区分小写开头的函数)
- 作用:实现对象量产
- 实例对象:类实例化的产物
- 创建方式:实例名 = 类名()
- 注意:无变量引用会被Python垃圾回收机制自动回收
- 方法调用:实例名.方法名()
面向对象三大特征
- 封装
- 定义:属性和方法封装成独立模块,信息隐蔽
- 示例:列表对象(sort()、append()方法,无需知道内部实现)
- 继承
- 定义:子类自动共享父类的属性和方法
- 示例:自定义类继承list → 拥有append()、sort()等方法
- 多态
- 定义:不同对象对同一方法响应不同行动
- 生活示例:移动(老虎跑、袋鼠跳、乌龟爬)
- 代码示例:类A和类B都有func()方法,调用后输出不同内容
核心总结
- 面向对象设计思路:从现实世界归纳、抽象
- 三大特征是面向对象的核心