第一部分 概述
第一章 面向对象方法概论
Part1 OO源头:
名称 | 年份 | 特点 |
功能分解法 | 20世纪70年代 | 根据功能/子功能设计数据结构和算法 |
结构化方法 | 20世纪70年代 | 包括结构化需求分析(DFD)、设计、编程和测试方法等 |
信息建模方法 | 20世纪80年代末 | 强调对数据的组织,却忽略系统的功能 |
面向对象方法 (Object-Oriented,OO) |
现今 |
把所建立的模型和问题域进行完整且直接映射,且全程采用一致的概念和表示法 |
Part2 OO基本思想:
运用对象、类、继承、聚合、关联、消息和封装等概念和原则来构造软件系统。
Part3 OO主要概念:
1、对象(Object):万物皆对象;
2、类(Class):具有相同属性和操作的一组对象的集合;
3、继承(Inheritance):特殊类自动地拥有或隐含地复制其一般类的全部属性和操作;
4、消息(Message):向对象发出的操作请求;
5、关联(Association):两个或多个类之间的一种静态关系;
6、聚合(Aggregation):一个(较为复杂的)对象由其他若干(较为简单的)对象所构成,这种关系就叫~。
Part4 OO基本原则:
1、抽象(Abstraction):从事物中舍弃个别的、非本质的特征,并抽取共同的、本质特征;
2、分类(Classification):按某种原则划分出事物的类别;
3、封装(Encapsulation):对对象外部透明,只能通过对象提供的接口来访问内部;
4、消息通信:包括消息名、入口参数和返回参数;
5、多态性(Polymorphism):同一个消息,不同的对象可对其进行相应,所体现出来的行为是不同的;
6、行为分析:系统中的对象是相互协作的,牵一发而动全身;
7、复杂性控制:使用包组织不同粒度的系统单位,或使用包来组织包。
Part5 OO主要优点:
1、从认识论的角度看,面向对象方法改变了人们认识世界的方式;
2、从计算机语言发展角度看,面向对象语言缩短了自然语言到计算机语言的鸿沟;
3、从软件工程角度看,面向对象方法使分析与设计之间的鸿沟变窄;
4、面向对象程序设计有助于软件的维护与复用:
程序=<对象,关系> ;对象=(算法)+(数据结构);程序 =<关系,算法,数据结构 >;
5、面向对象方法有助于提高软件的质量和生产率。