一、抽象过程
整个变成行业都可以归结为一个抽象的过程,变成语言是抽象,汇编语言是对机器语言的抽象,命令语言是对汇编语言的抽象。我们大多数情况下都是站在机器的角度,通过建立机器模型和实际待解决问题之间的映射关系来完成编程过程的。
而面向对象更加倾向于描述问题本身,通过建立对象之间的联系来转化成编程过程。这些对象就像一个一个的微型计算机,具有状态,能完成操作。Java是典型的面向对象语言,面向对象程序设计的5个基本特征:
- 万物皆对象:将对象视为奇特的变量,他可以存储数据,可以在自身上执行造作。理论上我们可以抽象待解决问题中的任何概念化构件(实体或虚拟),如狗,建筑物,服务,交易等,将其表示为程序中的对象。
- 程序是对象的集合,他们通过发送消息来通知彼此要做的事情。
- 每个对象都有自己的由其他对象所构成的存储。这可以在程序中构建复杂的体系,同时将这种复杂性隐藏于单一对象简单性的背后。
- 每个对象都拥有其类型。每个对象都是类(Class)的一个实例,类是所有实例共性的抽象。
- 某一特定类型的对象都可以接受同样的消息。