|
1. 学习目标:
1)理解与掌握面向对象的概念与方法
2)使用UML
3)完成面向对象的分析与设计工作
4)了解OO的设计原则及一些典型的设计模式
使用比较的UML工具一般是:Jude 和starUML:http://staruml.sourceforge.net/en/
这个网站是开源网站,上面有很多开源项目,starUML就托管在这个网站上,是由韩国的一个团队开发的。
2. 什么是面向对象?
面向对象(Object-Orientation ,简称OO)是一种系统建模技术
1) 面向对象编程( Object-Orientation Programming,简称OOP)是按照OO的方法学来开发程序的过程
2) 通过分析系统内对象的交互来描述或建模一个系统
3) 交互的对象最终以类的形式组织
4) OO的方法由三部分组成
— 过程
— 标识
— 规则
3. 对象:是一个客观存在的、唯一的实体
1) 是面向对象编程过程中分析与解决问题的出发点与基础
2) 拥有自己的标识、数据与行为
3) 可以简单或复杂
4) 可以抽象或具体
5) 在OOP中是一个类的动态实例
6) 如Student
——id,name,age(attributes)
——setName,getName,countScore(methods)
——new Student()
4. 类:类是对象的模板
1) 对象通过类实例化产生
2) 一个类可以创建多个对象
5. OOAD:OOAD是根据OO的方法学,对软件系统进行分析和设计的过程
OOA 分析阶段
定义OOA阶段
1) 分析阶段主要解决以下问题
建立针对业务问题域的清晰视图
列出系统必须要完成的核心任务
针对问题域建立公共词汇表
列出针对此问题域的最佳解决方案
2) 此阶段要解决的核心问题是“What to do?”
OOD 设计阶段
定义OOD阶段
1) 设计阶段主要解决以下问题
如何解决具体的业务问题
引入系统工作所需的支持元素
定义系统的实现策略
2) 此阶段要解决的核心问题是“How to do?”
6. OOP的主要特征
1) 抽象(abstract)
忽略掉一个对象或实体的细节而只关注其本质特征的过程
简化功能与格式
帮助用户与对象交互
2) 封装(encapsulation)
隐藏数据和实现
提供公共方法供用户调用功能
对象的两种视图
外部视图:对象能做的工作
内部视图:对象如何完成工作
3) 继承(inheritance)
通过存在的类型定义新类型的机制
通常在两个类型之间存在“is a”或“kind of”这样的关系
通过继承可实现代码重用,另外继承也是多态的基础
如苹果“is a”水果
4) 多态(polymorphism)
一个名称,多种形式
基于继承的多态
调用方法时根据所给对象的不同选择不同的处理方式
如Football——play():使用脚来完成
Basketball——play():使用手来完成
给出一个具体的足球或篮球,用户自动知道该使用谁的方式去执行play()
5) 关联(association)
对象之间交互时的一种引用方式
当一个对象通过对另一个对象的引用去使用另一个对象的服务或操作时,两个对象之间便产生了关联
如person使用computer,person与computer之间就存在了关联关系
6) 聚合(aggregation)
关联关系的一种,一个对象成为另外一个对象的组成部分
是一种关系较强的关联
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|