对象就像程序一样,是对事物的一种抽象描述。但我们谈及什么是对象的时候,其实是一个对象如何抽象地表述出来。对象有一个重要的特点,它不像一般的程序代码,对象意味着它有着行为(action)和状态(state),对象把这两部分封装到一个部分里面。用编程的术语来说,行为就是你的代码,状态就是数据(或者变量)。
在一个典型的空战游戏里面,可以用对象表示一切事物——玩家的飞船、空的飞船、流星和陨石等。所有这些对象都可以把自己需要的行为和状态封装起来。举例来说,飞船这个对象有代表状态的资料、位置、飞行方向和飞行速度等。此为还有行为,比如沿着正确的方向飞行的行为(换句话说,代码可以实时更新飞船位置),或者,如果撞上了武器发射的子弹、导弹等,就会爆炸这样的行为。重要的一点是,所有这一切(状态和行为),全都包含在飞船这个对象里面了。
这就是面向对象编程的最重要的一点。
——摘至《J2ME Game Programming》 [美] Martin J.Wells 著