面向对象编程(Object-Oriented Programming,简称 OOP)是一种围绕对象来组织代码的方式。对象会把相关的数据以及操作这些数据的方法放在一起,因此程序可以更直接地表示银行账户、购物车或游戏角色这类事物。
OOP 的核心有两个术语:类和对象。类描述某个事物应该包含什么,以及它能做什么。对象则是根据这个类创建出来的一个实际实例。
面向对象编程是什么意思
可以把类看作蓝图,把对象看作按照蓝图建造出来的真实事物。一个 BankAccount 类可能会定义余额,以及像 deposit 和 withdraw 这样的方法。Alice 的账户和 Bob 的账户会是两个不同的对象,它们遵循相同的规则,但保存着不同的余额。
这就是为什么人们会说 OOP 把状态和行为打包在一起。状态指对象存储的数据。行为指对象允许执行的操作。
为什么 OOP 能让代码更容易理解
当程序中存在边界清晰、各自有规则的实体时,OOP 会很有帮助。如果余额属于账户,那么修改余额的代码通常也应该放在账户里。这样更容易看清每部分代码各自负责什么。
但这并不意味着每个程序都应该到处使用类。只有当把状态和行为组织在一起能让设计更清晰时,OOP 才真正有用。如果问题主要是简单的数据处理,普通函数往往更容易阅读。
使用 BankAccount 类的 OOP 示例
下面是一个展示核心思想的小例子: