第2章 理解面向对象
一:结构化程序设计
1、主要原则:自顶向下、逐步求精、模块化等。
2、最小程序单元:函数。
3、局限性:
(1)设计不直观
(2)适应性差,可扩展性不强
4、三种基本结构:顺序结构、选择结构、循环结构。
二:面向对象程序设计
1、最小程序单元:类。
2、基本特征:封装、继承、多态。(抽象是面向对象的重要部分,但不是特征)
3、判断一门语言是否面向对象,通常可以使用继承和多态来加以判断。
4、对象的基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。
三:UML(统一建模语言)
1、面向对象软件开发需要经过OOA(面向对象分析)、OOD(面向对象设计)和OOP(面向对象编程)三个阶段。
2、特点:定义良好、易于表达、功能强大且普遍适用。
3、作用域:
(1)面向对象的分析与设计
(2)从需求分析开始的软件开发全过程
4、UML 2.0
(1)包含的正式图形:活动图、类图、通信图(协作图)、组件图、复合结构图(新)、部署图、交互概观图(新)、对象图、包图、顺序图、状态机图、定时图(新)、用例图。
(2)用例图:描述系统提供的系列功能,每个用例代表系统的一个功能模块(需求分析阶段使用)。
(3)类图:显示系统的静态结构,表示实体之间的相互关系(三种关系:关联、泛化、依赖)。
(4)组件图:提供系统的物理视图,显示系统中的软件对其它软件组件的依赖关系。
(5)部署图:描述软件系统如何部署到硬件环境中,显示不同组的运行位置和通信方式。
节点:多种计算机资源的通用名称,主要包括处理器和设备两种类型。
(6)顺序图:显示具体用例的详细流程,并显示流程不用对象之间的调用关系,及对不同对象的不同调用。
(7)活动图:描述用例内部的活动或方法的流程(除去“并行活动的描述”,即流程图)。
(8)状态机图:描述某一对象生命周期中需要关注的不同状态和该类的状态转换信息。
四:Java的面向对象特征
1、在Java中,除了8个基本数据类型值之外,一切皆对象,对象是面向对象程序设计的中心。
2、对象实现了数据和操作的结合。
3、继承和组合:
(1)继承:is a ==> 一般 -->特殊
(2)组合:has a ==> 整体 --> 部分