第10章 对象和类
欢迎来到面向对象编程的世界!学习如何将现实事物抽象成代码,像搭建乐高一样构建复杂程序。
环节 1:类是“蓝图”,对象是“实体”
想象一下,**类 (Class)** 是一张制造汽车的**“设计蓝图”**,它规定了汽车有什么属性(颜色、品牌)和功能(跑、停)。而**对象 (Object)** 则是根据这张蓝图制造出来的**一辆辆具体的汽车**。
汽车制造工厂 🏭
使用 `Car` 蓝图,输入品牌和颜色,制造你自己的汽车对象!
车库
空空如也...
环节 2:数据隐藏 ——“银行保险箱”
类里面的数据(成员变量)默认是 `private`(私有的),就像**保险箱里的钱**,不能直接拿。你必须通过 `public`(公有的)方法,比如去**“银行柜台”**办理业务,才能安全地存取。
我的银行账户 🏦
账户余额 (私有数据)
$1500.50
你无法直接修改这个数值
环节 3:对象的“出生”与“消亡”
**构造函数 (Constructor)** 是对象**出生时**自动运行的函数,负责初始化。**析构函数 (Destructor)** 是对象**消亡时**自动运行的函数,负责清理工作。
生命周期观察器 🔬
点击按钮,模拟调用一次 `some_function()`,观察对象何时出生,何时消亡。
> 日志输出区...
环节 4:this 指针 —— 我是谁?
在成员函数内部,`this` 是一个特殊的指针,它**永远指向调用该函数的那个对象**。这解决了“方法被调用时,它如何知道是哪个对象在调用它”的问题。
对象身份识别器 🆔
下面有两个不同的 `Player` 对象。点击它们各自的按钮,让它们自己说出“我是谁”。
玩家 P1
Kate
玩家 P2
Mike
> 函数内部日志:
终点站:编程挑战
练习 1:基本账户类
任务:
定义一个 `BankAccount` 类,包含姓名、账号和存款。提供构造函数、`deposit`(存款)、`withdraw`(取款)和 `show` 方法。
预期知识点:
类声明、私有数据、公有方法、构造函数、const成员函数。
点击查看参考答案
File 1: bank.h (头文件)
File 2: bank.cpp (实现文件)
练习 2:使用账户类
任务:
编写一个 `main` 函数来使用 `BankAccount` 类。创建一个对象,并调用其方法模拟存钱和取钱操作,最后显示账户信息。
预期知识点:
对象创建、方法调用、构造函数使用。
点击查看参考答案
File 3: use_bank.cpp (主程序)