抽象过程
人所能够解决的问题的复杂性取决于抽象的类型和质量(能够多大程度地将问题抽象)
机器模型和实际待解问题模型之间的联系
- 实际待解问题模型:问题空间
- 机器模型:解空间
程序员需要解决的现实问题,必须先转化成能在机器上运行并解决的形式,两者之间的转化,需要有一个映射关系
然而这不属于编程语言范畴,而且要建立这样一种映射难度很高
面向对象
问题空间中的元素,在解空间中称为“对象”
实质:程序通过添加新类型的对象,使自身适应特定问题的解决
5个基本特性
- 万物皆为对象
- 程序是对象的集合,对象间通过消息来沟通
- 每个对象都可以由其他对象组成
- 每个对象都拥有类型
- 某一类型的所有对象都能接收同样的消息
对象的特征
- 状态(内部数据)
- 行为(方法)
- 标识(唯一的地址)