学习目标:
理解与掌握面向对象的概念与方法
- 使用UML
- 完成面向对象的分析与设计工作
- 了解OO的设计原则及一些典型的设计模式
什么是面向对象?
面向对象(Object-Orientation,简称OO)是一种系统建模技术
面向对象编程是(Object-Orientation Programming,简称OOP)是按照OO的方法学来开发程序的过程
通过分析系统内对象的交互来描述或建模一个系统
交互的对象最终以类的形式组织
OO的方法由三部分组成
- 过程
- 标识
- 规则
在软件工程早期,主流是结构化编程。编程时首先开发标准代码块,然后将代码复制粘贴到编写的每个应用程序中,尽管这样做可以在一定程度上减少新应用程序的开发时间,但如果代码需要改变,则开发人员需要在复制代码的每个地方进行修改。
随着软件复杂度的不断提高及对软件开发周期越来越短的要求,传统的结构化编程方式已不能适应现在的环境,面向对象编程方式应运而生。通过面向对象的方法,应用程序被分成许多小块(对象),这些对象彼此独立,然后可以通过组合这些对象,建立应用程序,如同建造一座房屋(应用程序),我们可以先把基本的砖块(对象)准备好,那么建造过程中我们只需要按要求把这些砖块搭建起来就可以了。
对象:
一个客观存在的、唯一的实体
是面向对象编程过程中分析与解决问题的出发点与基础
拥有自己的标识、数据与行为
可以简单或复杂
可以抽象或具体
在OOP中的一个类的动态实例
如Student----------id,name,age(attributes)
----------setName,getName,countScore(methods)
----------new Student()
类:
类是对象的模板
对象通过类实例化产生
一个类可以创建多个对象
OOAD是根据OO的方法学,对软件进行分析和设计的过程
---- OOA 分析阶段
---- OOD 设计阶段
面向对象的分析与设计主要分为两个阶段,其中第一个阶段称之面向对象分析(OOA)阶段,其任务在于弄清用户需要软件解决什么具体问题,是一个研究问题域的过程;第二个阶段称之为面向对象设计(OOD)阶段,用以决定软件的总体结构(例如整个系统包括多少个子系统,每个子系统又包括多少模块等等),以及每个模块的内部逻辑,包括模块的控制结构与数据结构等,是一个解决系统实现所需细节的过程。
定义OOA阶段
分析阶段主要以下问题
---- 建立针对业务问题域的清晰视图
---- 列出系统必须要完成的核心任务
---- 针对问题域建立公共词汇表
---- 列出针对此问题域的最佳解决方案
此阶段要解决的核心问题是“What to do”
设计阶段主要解决以下问题
---- 如何解决具体的业务问题
---- 引入系统工作所需的支持元素
---- 定义系统的实现策略
此阶段要解决的核心问题是“How to do”
OOP的主要特征
抽象(Abstract)
封装(Encapsulation)
继承(Inheritance)
多态(Polymorphism)
聚合(Aggression)
内聚与耦合(Cohesion & Coupling)
面向对象的编程语言很多,如Java、C++、C#等,虽然第一种语言都有其自己的语法,但所有的面向对象的编程语言都有一些共同的特点,如最基本的封装、继承、多态,除此还有抽象、关联、内聚、耦合等特征。以下将逐一讨论。
抽象:
忽略掉一个对象或实体的细节而只关注其本质特征的过程
简化功能与格式
帮助用户与对象交互
抽象指忽略掉一个对象或实体的细节而只关注其本质特征的过程,如从一级对象中抽象出其类模板,或者从一组类中抽象出公共特征得到父类或父接口,通过抽象可以简化用户与对象交互的过程与格式,并且使系统保留一定的灵活性,为将来系统的扩展留有余地。
封装
隐藏数据和实现
提供公共方法供用户调用功能。
对象的两种视图
--- 外部视图:对象能做的工作
--- 内部视图:对象如何完成工作
电视机:调节音量
分享到:
相关推荐
教程名称:北京圣思园OOAD与UML教学视频(14集)课程目录:【】002_UML简介【】003_用例图【】004_类图1【】005_类图2【】006_对象图【】007_组件图【】008_部署图【】009_时序图【】010_协作图【】011_类图3【】012...
**OOAD(面向对象分析与设计)与UML(统一建模语言)是软件开发领域中的核心概念,它们在现代软件工程中起着至关重要的作用。面向对象编程思想的引入,使得复杂系统的构建变得更加模块化、可维护和可扩展。UML作为...
**OOAD(面向对象分析与设计)与UML(统一建模语言)是软件开发领域中的核心概念,尤其在大型复杂系统的设计与实现中扮演着重要角色。** **面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)**是一...
### OOAD与UML核心知识点解析 #### 面向对象概念与方法的理解与掌握 面向对象(Object-Oriented,简称OO)是一种强大的系统建模技术,它以对象为核心,将现实世界中的实体抽象为类,从而进行系统的设计与编程。...
**OOAD(面向对象分析与设计)与UML(统一建模语言)是软件开发领域中的核心概念,尤其在大型复杂系统的设计与实现过程中扮演着重要角色。** 面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)是一...
UML基础介绍1.UML的定义统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素、构建模块、分析过程并可通过文档说明系统中的重要细节2.OOADOOAD是根据OO的方法学,对软件系统进行分析和设计...
第1章 OOAD 和UML 简介 第2章 用例图 第3章 类图 第4章 动态模型 第5章 案例分析
Ooad_uml 与xml 串讲 Ooad_uml 与xml 串讲 Ooad_uml 与xml 串讲
# OOAD(面向对象分析与设计)与UML(统一建模语言) 面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件开发过程中的一种方法,它强调以对象为中心来理解和表达系统的需求,通过分析和...
### OOAD与UML知识点详解 #### 一、软件开发的复杂性 软件开发是一项复杂的工程活动,涉及多个层面的问题。这些复杂性主要包括但不限于以下几个方面: - **需求模糊性**:用户往往很难清晰准确地表达自己的需求。...
对OOAD和UML指导思想的基本概述,欢迎大家下载学习,也希望各位继续完善
第5章-- UML和OOAD快速入门
**UML(统一建模语言)是面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)的重要工具,用于软件开发中的可视化建模。本资料“OOAD & UML.rar”包含英文PPT,提供了丰富的学习资源,旨在帮助理解和...
“2OOAD与UML”可能是本书或者课程的名称,它将深入讲解面向对象分析和设计的原理,以及如何使用UML进行建模。"其他资料(必看).rar"可能包含补充材料,如案例研究、练习题或工具指南。"视频链接.txt"可能提供了一些...
### OOAD+UML 学习笔记 #### 面向对象的基本概念 面向对象(Object-Oriented Analysis and Design, OOAD)是一种软件工程方法论,它将面向对象的思想应用于软件开发过程中,以提高软件的灵活性、可复用性和可维护...
在《OOAD_WITH_UML_Question_Bank》这一题目中,主要涉及的是面向对象分析与设计(OOAD)以及统一建模语言(UML)的基础概念与应用。通过一系列的选择题、填空题和判断题等形式,对OOAD与UML的基本概念进行了考察。...
通过以上内容的介绍,我们可以看到面向对象分析与设计(OOAD)及统一建模语言(UML)在软件开发过程中的重要作用。它们不仅能够帮助开发者更好地理解问题域,还能指导他们设计出高质量的软件系统。
### OOAD与UML **OOAD**(面向对象分析与设计)是一种系统化的方法,用于分析、设计和实现基于对象的软件系统。它包括两个主要阶段:**OOA**(面向对象分析)和**OOD**(面向对象设计)。OOA专注于理解问题域,识别...