软工视频——面向对象技术(OOA、OOD、OOP、OOT)

简介: 面向对象的技术是当前计算机界所关心的重点,,面向对象的概念和应用已经扩展到很宽的范围,如面向对象的数据库系统、面向对象的系统分析与设计、CAD 技术、人工智能以及其他广泛的应用范围。

面向对象的技术是当前计算机界所关心的重点,,面向对象的概念和应用已经扩展到很宽的范围,如面向对象的数据库系统、面向对象的系统分析与设计、CAD 技术、人工智能以及其他广泛的应用范围。


20200607165015853.png


什么是面向对象?


面向对象=对象+类+继承+通信


什么是对象?


对象是系统中用来描述客观事物的实体,是面向对象开发模式的基本成分


每个对象可用它本身的一组属性和它可以执行的一组操作来定义


对象具有哪些特点?


  • 对象具有封装性:对象将数据及行为封装在一起,将其内部结构隐藏起来。外界不能直接修改对象的状态,只有 通过向该对象发送消息(message)来对它施加影响
  • 对象具有自治性
  • 对象具有通信性
  • 对象具有被动性
  • 对象具有暂存性
  • 对象可具有持久性


什么是消息?


就是对象向对象发送的服务请求


什么是类?


类是一组具有相同数据结构和相同操作的对象的集合(类的基本元素是对象)


方法是什么?


方法也称作行为,指定义于某一特定类上的操作与法则


面向对象的基本特征


  • 继承性


使用已存在的定义作为基础建立新定义的技术。新的类自动继承旧类的属性和行为特征,并可具备某些附加的特征或某些限制。新类称作旧类的子类,旧类称作新类的超类。


实例:


 20200607163225402.png                                                          


如果类 C 能使用类 B 中的方法及属性,称 B 是 C 的超类(superclass),C 是 B 的子类 (subclass),也称类 C 继承类 B


  • 封装性


所有信息都存储在对象中,即其数据及行为都封装在对象中。


  • 多态性


在收到消息时对象要予以响应,不同的对象收到同一消息可以产生完全不同的结果, 这一现象叫做多态。


类的继承与多态结合后,将进一步增强软件的重用性


对象模型化技术OMT


就是把分析时收集的信息构造在三类模型中,即对象模型、功能模型、动态模型


                 2020060716364697.png            


  • 对象模型


三个模型中最关键的一个模型,作用是描述系统的静态结构,包括构成系统的类和对象,他们的属性和操作,及他们之间的关系


在OMT中,类与类之间的关系叫做关联


关联有这几种形式:聚合:代表整体与部分的关系


                               限定:用以对关联的含义做某种约束


                                角色:用来说明关联的一段


  • 动态模型


涉及到事件追踪图和状态图

  • 功能模型


由多个数据流图组成,指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况


面向对象的软件工程方法

                                                               

20200607164225224.png


  • 面向对象的分析:OOA


强调直接针对问题域中客观存在的各种事物建立 OOA 模型中的对象。分为了5层


  20200607164310372.png                              


  • 面向对象设计:OOD


继续做面向对象分析阶段的工作。OOA 与 OOD 采用一致的表示法,两者能够紧密衔接,大大降低了从 OOA 过渡到 OOD 的难度、工作量和出错率。


  • 面向对象的编程:OOP

用一种面向对象的编程语言把 OOD 模型的每个成分书写出来。


  • 面向对象的测试:OOT


指,对于用面向对象的技术开发的软件,在测试过程中继续运用面 向对象的技术,进行以对象概念为中心的软件测试


20200607164404392.png

相关文章
|
2月前
|
算法 安全 开发者
大模型部署指南:从个人玩转到企业级应用,这4款工具必看!
本文介绍了五款主流大语言模型部署工具,帮助用户根据需求选择合适的方案。包括适合个人使用的 Ollama 和 LM Studio、优化低配设备运行的 llama.cpp、企业级部署的 vLLM,以及 Hugging Face 推出的 TGI 框架,覆盖从本地体验到高性能服务的多种场景。
|
存储 中间件 开发工具
云计算的三个主要服务模型:IaaS、PaaS 和 SaaS
云计算的三个主要服务模型:IaaS、PaaS 和 SaaS
19675 0
|
SQL 关系型数据库 数据库
学习分布式事务Seata看这一篇就够了,建议收藏
学习分布式事务Seata看这一篇就够了,建议收藏
19610 2
|
消息中间件 存储 中间件
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka
12040 1
|
SQL NoSQL 数据库
SpringCloud基础6——分布式事务,Seata
分布式事务、ACID原则、CAP定理、Seata、Seata的四种分布式方案:XA、AT、TCC、SAGA模式
SpringCloud基础6——分布式事务,Seata
|
敏捷开发 数据可视化 持续交付
敏捷开发方法:理论与实践
【8月更文第22天】随着信息技术的发展,软件项目的复杂度不断提高,传统的瀑布式开发模式越来越难以适应快速变化的市场需求。为了解决这些问题,敏捷开发方法应运而生。本文将探讨敏捷开发的核心理念、敏捷宣言与原则、Scrum框架、Kanban方法以及相关的敏捷实践与工具。
1597 2
|
5月前
|
新能源 API 开发者
车辆限行查询API的实战指南:让限行管理从此 “有码可循”
随着全国机动车保有量突破4.53亿辆,交通拥堵与污染问题日益严峻,各城市陆续实施限行政策。探数API推出的车辆限行查询服务覆盖200+城市,提供实时限行数据,包括本地/外地燃油车及新能源车的限行规则、区域和时间等信息。其功能涵盖单个城市限行政策查询与支持城市的全面列表,助力用户精准规划出行。通过HTTP POST请求即可轻松接入,适用于导航平台和个人开发者。在“双碳”目标下,该API推动绿色出行与智能交通发展,为个人、企业和城市治理提供高效解决方案。
440 5
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和字典案例分析
该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。
『软件工程10』结构化系统分析:数据流图和字典案例分析
|
8月前
|
缓存 数据库
什么是缓存击穿 ? 怎么解决 ?
缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大 解决方案 : ● 热点数据提前预热 ● 设置热点数据永远不过期。 ● 加锁 , 限流
|
存储 消息中间件 JSON
DDD基础教程:一文带你读懂DDD分层架构
DDD基础教程:一文带你读懂DDD分层架构