文档介绍:面向对象的系统分析与编程语言
北京东方瑞威科技发展有限公司
计算机软件培训讲座
讲座内容
一、面向对象的基本原理
二、面向对象的系统分析
三、常用语言的分析比较
一、面向对象的基本原理
连接成员的机制(静态联结与动态关联)
生产软件产品
什么是面向对象技术
以面向对象方法学为基础的软件系统组织和结构设计的工程技术
特点: 标准的工艺流程
统一的生产规范
内容:面向对象分析
面向对象设计
面向对象程序设计
内部组成
层次结构
思维方法
知其然,知其所以然
面向对象技术及其发展历史
从“软件工程”的发展史看面向对象技术出现的必然性
面向过程
结构化
程序设计
面向对象
程序设计
面向机器
机器语言
助记符语言
汇编语言
面向机器
指令代码
FORTRAN
BASIC
面向过程
程序设计
C
PASCAL
结构化
程序设计
C++
Java
面向对象
程序设计
面向网络
程序设计
Java
CAR
面向网络
程序设计
面向对象方法学基本内涵
(1) 客观世界的事物由各种各样的实体(对象)构成
(2) 每个对象都有各自的内部状态和运动(状态)规律
(3) 根据对象的属性和运动规律的相似性可以将对象分类
(4) 复杂对象由相对简单的对象组成
(5) 不同对象的组合及其间的相互作用和联系构成了系统
(6) 对象间的相互作用通过消息传递,对象根据所接收到的消息做出自身的反应
对象的模块化
在程序实现中将一些密切相关的操作以某种风格汇集在一起,形成相对独立的整体。
模块2
模块1
模块化的特征在于抽象和信息隐藏
抽象
划分方式与客观事物本来面目相对应
信息隐藏
内部信息的访问必须通过接口
模块化设计遵守的准则:分解与组合(注重:可分解性、可组合性、可理解性)
分解
组合
软件重用
面向对象技术的发展使得软件重用技术更臻完善和规范:
多种重用方式:子程序(Subroutine)、程序包(Package)、库(Library)
对象的封装使得对象模块在程序开发者看来是一个黑匣子,它只需通过接口去操作对象和理解对象的行为,而不必关心其内部实现细节,从而程序开发人员能够直接重用已经开发的对象模块
对象的继承在另一个角度提供了软件重用方式,即通过继承允许程序开发者自己的对象重用具有相同特性的其它对象的代码
ponent Object Model)等提供了将对象模块组装在一起的同一机制和方法,利用他们应用程序开发人员可以方便地利用已有的对象模块组合在一起,构造出更大规模的应用程序
对象数据封装
(1) 问题空间
所有要研究的客观现实的全体称为问题空间或问题域,而把要研究的问题(客观世界中的实体)称之为问题空间的对象
任何一个客观实体都是对象——对象的组成——相互作用
(2) 解空间
所有的解(程序及执行程序的计算机)组成的集合称为解空间,把解(程序及执行程序的计算机实体)称做解空间的对象
对可解问题空间对象至少有一个解空间对象与其相对应
(3) 封装
将客观事物抽象为一个相对独立的实体,其中含有该事物的属性及行为
对象数据封装
对象的形态与静态特征
问题空间对象
图书1
MyBook1 : CBook
书名:程序设计
总页数:280
版本:2
......
m_pczName:char* =“程序设计”
nTotalPage:int =280
nEdition:int =2
......
返回书名
返回总页数
返回版本号
......
char* GetBookName();
int GetTotalPage();
int GetEdition();
......
分析中的对象
设计中的对象
人、学生、学校、班级、处、电视、汽车……等都可以被看作对象