3.1赋值语句与当前的状态
我们通常把世界看作是由独立的对象(个体)组成的,
任何一个个体都有一个随时间而改变的状态。如果一个个体的行为
受到它的历史的影响,那么我们可以说这个个体是有状态性的。
例如一个银行账户是有状态的,这个状态存在于 “我能取100元吗”
这个问题的答案中。这个答案依赖于存款与取款的事务的历史情况。
我们能够用一个或者是多个状态变量来特征化一个对象的状态,
这些状态变量中维护着足够多的关于历史的信息,以此为确定对象
的当前的行为。 在一个简单的银行系统中,我们能够用一个当前余额
这个状态变量来特征化一个账户的状态,而不是通过记录帐户交易
的全部的历史。
在一个有多个对象组成的系统中,对象几乎不可能完全地独立。
任何一个对象都可能在交互中影响到其它对象的状态,这使得从一个
对象到其它对象的状态的状态变量翻倍了。实际上,一个系统是由多个独立
的对象组成的视角(观点)在系统的状态变量能够被分成若干个子系统,
子系统与其它的子系统之间松散关联的情况下是最有用的。
系统的这个视角能成为一个强有力的组织系统的计算模型的框架。
对这个模块化的模型,它能被分解成 在系统中的实际对象的模型化的
计算模型。 任何一个计算对象必须有它自己的当前的状态变量来描述
实际对象的状态。因为在系统中的对象的状态随时间的流逝而改变,
相应的计算对象的状态变量必须也能改变。如果我们在系统中选择了时间流的模型,
那么我们必须有一种方式在我们的程序在运行时,组装其行为能改变的计算对象。
特别是在,我们在编程语言中用普通的符号名称来模型化状态变量时,
语言必须提供一种赋值操作,确保我们能够改变与名称关联的值。