程序设计的本质就是使用编程语言解决某一类具体问题.对问题的定义叫建模,例如定义问题域中的各种名词,动作,结果等.针对具体的问题提出的解决方案叫算法. 面向对象程序设计的挑战之一,就是在问题空间的元素和解空间的对象之间建立一对一的映射. 对象,就是对问题域或者解空间里各种“事物”的定义.对对象的设计过程,就是对问题的求解过程. 万物皆是对象,程序就是对象的集合,对象与对象之间通过消息通信. 每个对象都提供接口,通过接口对外提供服务,这里的接口是指对象所定义的方法. 在对象的设计上,有多种指导思想,…