Simula(模拟) 是一个很好的列子。正如这个名字锁暗示的,它的作用是"模拟"像"银行出纳员"我们有一系列出纳员,客户,账户以及交易等
每类成员(元素)都有具有一些通用的特征,每个账号都有一定的余额;每个出纳都能接收客户的存款,等等。与此同时,每个成员都有自己的状态
每个都有自己的状态;每个账号都有不同的余额;每名出纳都有一个名字。所以在计算机程序中,能用独一无二的实体分别出纳员,客户,账户,
交易。这个实体便是"对象",而且每个对象都隶属一个特定的"类"。
在面向对象的程序中,尽管我们真正要做的是新建各种各样的数据,"类型"(Type),但几乎所有面向对象的程序设计语言采用了"class"关键字。当您看到
"Type" 这个字的时候,请同时想到"class";反之亦然
建好一个类后可根据情况生成许多对象。随后,可将那些对象作为要解决问题中存在的元素处理。事实上,当我们进行面向对象的程序设计时。面临
的最大一项挑战就是:如何在"问题空间"(问题实际存在的地方)的元素与"方案空间"(对实际问题进行建模的地方)的元素之间建立理想的"一对一"对象
如何利用对象完成真正有用的工作,必须有一种办法能向对象发出请求,令其做一些实际的事情,比如完成一次交易,在屏幕上画一些东西或者打开一个开关等等。每个对象仅能接受特定的请求。
2.方案的重复作用
为重复使用一个类。最简单的办法是仅直接使用那个类的对象。但同时也能将那个类的一个对象置入一个新类。我们把这叫做“
创建一个成员对象 ”新类可由任意数量和类型的其他对象构成。无论如何,只要新类达到了设计要求即可。这个概念叫做"组织"
--在现有类的基础上组织一个新类,有时,我们也将组织称作"包含"关系,比如"一辆车包含了一个变速箱"对象的组织具有极大的
灵活性。新类的"成员对象"通常设为"私有"使用这个类的客户程序员不能访问,这样一来,我们可在不干扰客户代码的前提下,从容修改那些
成员,也可以在"运行期"更改成员,增大了灵活性。