一、支持面向对象的观点和方法
- 将客观事物看作对象,对象有属性和方法
人就是一个对象,她有名字性别籍贯等(属性)、有吃饭睡觉等行为能力(方法) - 人与人(对象之间)通过消息传送进行沟通
- 支持分类和抽象
① 面向过程的程序设计方法
机器语言、汇编语言和高级语言都支持,主要用于数学计算
② 面向对象的程序设计方法
由面向对象的高级语言支持,一个系统由对象构成,对象之间通过消息进行通信。
二、面向对象的基本概念
- 对象Object
系统中用来描述客观事物的一个实体,对客观事物的抽象。 - 抽象和分类
抽象 — 分类所依据的原则
类 — 抽象出同一类对象的共同属性和行为,形成类。类是一种抽象的数据类型。 - 类与对象的关系
对象是类的实例,类是对象的模板。对象是通过new className产生的,用来调用类的方法;类的构造方法 - 封装
隐蔽对象的内部细节、对外形成一个边界
只保留有限的对外接口、使用方便、安全性好 - 继承
意义在于软件复用,改造、扩展已有类形成新的类 - 多态
同样的消息作用在不同对象上,有可能引起不同的行为
三、面向对象和基于过程
面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。基于过程设计方法用于较小规模的程序。
不可把二者对立起来,它们不是矛盾的,而是各有 用途、互为补充。在面向对象程序设计中仍然要用到结构化程序设计的知识,例如在类中定义一个函数就需要用到结构化程序设计方法来实现。任何程序设计都需要编写操作代码,具体操作的过程就是基于过程的。