Module 5: OOP — 万物皆对象
到现在为止,你已经学会了变量、流程控制、函数和数据结构——恭喜,你已经能写出不少实用的程序了。但随着代码越来越多,你会发现一个问题:数据和操作数据的函数散落在各处,就像把袜子、内裤和 T 恤一股脑丢进同一个抽屉。
面向对象编程(OOP)的核心思想很简单:把数据和行为打包在一起。一只猫有名字、年龄(数据),也会叫、会跑(行为)——我们把它们封装成一个 Cat 类,从此这只猫自己管理自己。
Python 和 JS 都支持 OOP,但风格截然不同。Python 的 OOP 继承了经典的面向对象传统;JS 则走了一条"原型链"的野路子——虽然 ES6 之后加了 class 语法,但骨子里还是原型。
这一章我们学习:
| 主题 | 你会学到 |
|---|---|
| 类与实例 | 如何定义类、创建实例、写方法 |
| 继承 | 子类复用父类代码,super 的用法 |
| 方法与属性 | 静态方法、getter/setter、私有成员 |
| 鸭子类型 vs 原型链 | Python 和 JS 在"类型"上的哲学差异 |
问问 AI
问 AI:"如果没有类和对象,我要怎么管理一个游戏里 100 个不同属性的角色?"
让 AI 用纯函数和字典的方式描述一下那个"意大利面条代码"的噩梦——你就会理解为什么人类发明了 OOP。
准备好了吗?先从类和实例开始!