对OOD/OOP有较深的理解

2023-11-07

最近,经常有很多人在求职的时候遇到这样一个问题 “对OOD/OOP有较深的理解” ,那OOD,OOP又是什么?那今天就来讲讲它们都是些什么,又如何去回答!

(1)OOA (Object oriented analysis)- 面向对象分析

面向对象分析方法是确定需求或者业务的角度,按照面向对象的思想来分析业务。例如:OOA只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的不同点相同点,确定问题中的对象。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。

面向对象分析是一种分析方法。

(2)OOD(Object oriented design)- 面向对象设计

面向对象设计方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。

面向对象设计是一种设计方法,包括面向对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻辑模型和物理模型、静态模型和动态模型。

  这里定义两个要点:

    1)面向对象设计导致了面向对象分解;

    2)面向对象设计使用了不同的表示法来表达逻辑设计(类和对象结构)和物理设计(模块和处理架构)的不同模型,以及系统的静态和动态特征。

(3)OOP(Object oriented programming)- 面向对象编程

面向对象编程是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。

面向对象编程是一种实现的方法,在这种方法中,程序被组织成许多组互相协作的对象,每个对象代表某个类的一个实例,而类则属于一个通过继承关系形成的层次结构。

面向对象编程技术的关键性观念是它将数据及对数据的操作行为放在一起,作为一个相互依存、不可分割的整体——对象。对于相同类型的对象进行分类、抽象后,得出共同的特征而形成了类。面向对象编程就是定义这些类。类是描述相同类型的对象集合。类定义好之后将作为数据类型用于创建类的对象。程序的执行表现为一组对象之间的交互通信。对象之间通过公共接口进行通信,从而完成系统功能。

  这里定义有三个要点:

    1)利用对象作为面向对象编程的基本逻辑构建块,而不是利用算法;

    2)每个对象都是某个类的一个实例;

    3)类与类之间可以通过继承等关系联系在一起。

(4)关系

它们之间的关系基本上,面向对象分析的结果可以作为开始面向对象设计的模型,面向对象的设计结果可以作为蓝图,利用面向对象编程方法最终实现一个系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对OOD/OOP有较深的理解 的相关文章

  • 评论机器人测试--“欢迎评论”

    Python评论机器人 最近一直在写Python 爬虫相关的代码 今天突然想做个评论机器人玩一玩 主要步骤有 登录网页 解析现有评论状态 截取最新回复 回复上传到机器问答库 返回机器人回答内容 上传回答结果 欢迎大家在评论区评论测试 顺面让
  • 电脑键盘指法的正确练习步骤

    电脑键盘指法的正确练习步骤 转载 http www jb51 net softjc 39858 html 如果您觉得不合适请联系QQ 2453419889 我会及时删除本博文 电脑键盘指法练习学习目的 一 正确的指法 二 熟悉字母位置 电脑
  • 接入 顶象滑动验证码

    顶象滑动验证码 注册账号 SDK下载 后端实现 WEB端接入 效果图 注册账号 由于是学习使用 用的是免费的 访问顶象官网 注册账号后登录控制台 访问 无感验证 模块 申请开通后系统会分配一个唯一的AppId AppSecret SDK下载
  • 7大嵌入式开发技巧,你知道吗?

    成为一个正式的工程师 它是一个艰辛的过程 需要开发人员维护和管理系统的每个比特和字节 从规范完善的开发周期到严格执行和系统检查 开发高可靠性嵌入式系统的技术有许多种 今天给大家介绍7个易操作且可以长久使用的技巧 它们对于确保系统更加可靠地运
  • 牛客网-做题笔记

    网易有道2017内推选择题 XML数据结构有且只有一个根节点 可以嵌套 XML解析分为三种 SAX解析 PULL解析和DOM解析 求循环队列元素个数 rear front Max Max 非循环队列 元素个数为 rear front 1 程
  • Selenium面试问题及答案30题版

    近期我会在博客中系统的更新一些关于Selenium的文章 也请大家多多关注下我的视频课程 入门 基于Java的Selenium3自动化测试完整教程 高级 Selenium Java高级架构课程
  • 网页游戏《天书世界》屌丝修仙记

    天书世界修仙 无限小号刷打宝塔 得到的金钱数据对比 终极玩法 天书世界 修仙 看了一些玄幻修仙小说 主人公屌丝逆袭白富美的攻略只有一个 就是不同常人的隐藏技能 作为工程师 羡慕没鸟用 还是实践一下 看看是否有潜质 于是搞了一个网页游戏 耍耍
  • 黑盒测试、白盒测试、灰盒测试

    1 黑盒测试 黑盒测试也称功能测试 它是通过测试来检测每个功能是否都能正常使用 在测试中 把程序看作一个不能打开的黑盒子 在完全不考虑程序内部结构和内部特性的情况下 在程序接口进行测试 它只检查程序功能是否按照需求规格说明书的规定正常使用
  • ARM架构的STM32F103和RISC-V架构的CH32V103对比

    STM32F103和CH32V103对比如下图 STM32F103 概述 STM32F103 资源配置 CH32V103概述 CH32V103资源配置
  • 关于md文件插入视频链接的方法。(亲测可用)

    md文件中插入了HTML5的代码 如下
  • 下载iCloud照片/文件的正确姿势(亲测好使)

    这几天准备停用iCloud 需要把里面的数据取出来进行自行保存 原本以为很简单 但实际准备操作时 却踩了几个大坑 本人iCloud主要是存照片 共有30多GB 现在网速快 原本以为几个小时就可以下载完 但最开始尝试了几个方法 均以失败告终
  • 嵌入式系统的通讯协议:I2C通讯、SPI通讯、USB通讯、SDIO 通讯、I2S通讯、PCI通讯简介

    本文简单的描述了在实际应用中会碰到的一些总线协议 让各位读者对实际系统中的总线有个概念上的理解 一 I2C I2C Inter Integrated Circuit 总线是一种由PHILIPS公司开发的两线式串行总线 用于连接微控制器及其外
  • Elasticsearch-索引操作

    创建索引库 Elasticsearch采用Rest风格API 因此其API就是一次http请求 你可以用任何工具发起http请求 PUT 索引名称 settings 属性名 属性值 settings 就是索引库设置 其中可以定义索引库的各种
  • 练什么有利于防身

    短跑 拳击
  • How to delete local branches of GitExtension

    How to delete local branches of GitExtension Jin Qing s Column Dec 2021 GitExtension is a good tool After a long time of
  • 基于frp原理实现的轻量级内网穿透工具frp-python

    gitee地址 https gitee com usualheart frp python github地址 https github com usualheart frp python git frp 是一个专注于内网穿透的高性能的反向代
  • 【其它】关于size_t与int之间的比较

    void SeqListInsertByPos SeqList pList size t pos DateType x assert pList NULL pos lt pList gt size if IsFull pList print
  • gps纠偏及大陆地图偏移原因

    大陆地图偏移原因 国家安全与地图保密插件 国家保密插件 也叫做加密插件或者加偏或者SM模组 其实就是对真实坐标系统进行人为的加偏处理 按照几行代码的算法 将真实的坐标加密成虚假的坐标 而这个加偏并不是线性的加偏 所以各地的偏移情况都会有所不
  • git 删除右键菜单

    首先 我表示git默认的右键菜单很烦 太多项了 而我们平时用的最多的无非是一个Git Bash 删除msGit右键菜单 如果是windows 64位系统 cmd进入 C Program Files x86 Git git cheetah 目
  • discuz 论坛配置 QQ/163 网易邮箱

    步骤 在 discuz 后台的 站长 邮件设置 里按如下配置 SMTP 服务器固定 163 网易填 ssl smtp 163 com QQ 邮箱则填 ssl smtp qq com 端口 465 验证 勾选 配置完成后 会进行测试验证 发信

随机推荐

  • Uva1225之数数字

    这一题时Uva上的1225 这一题做法有很多 但是做起来有超时 后来就去看别人的做法 在博客中看到有的人直接建表的方法 感觉很不错 居然只用了短短几行代码搞定 真的很强 作者 csdn博客 synapse7 include
  • matlab中newrb函数用途,神经网络matlab函数使用

    实现的分类结果真的不好 才0 3 这里只是简单的说明怎么使用函数 至于实现达不到效果的问题 后续会研究 clear all clc 读入数据 xlsfile train txt x load xlsfile m n size x train
  • C++学习(二十七)define内存分析

    define的内存单元在程序运行前已经分配 宏定义只是在预处理器里进行文本替换 编译后放在常量数据区
  • qt之出差账单app-管理你的行程

    前言 分享一个为了自己出差记账方便管理的软件 qt for Android开发 环境 qt版本 Based on Qt 5 10 0 MSVC 2015 32 bit for Android环境自己搭建 正文 话不多说 看效果图 功能很简单
  • MonoSQL--支持SQL,让DynamoDB更强大

    MonoSQL from MonographDB MonoSQL是成章数据打造的一款基于DynamoDB的分布式SQL数据库 受益于DynamoDB的Serverless架构和任何数据规模下的查询个位数延时保障 MonoSQL在支持SQL生
  • PCB板上字母的含义

    阅读PCB板子文件 发现板子上字母的大致符合表中规律 PCB板上 字母 数字 如R16 C16 表示的含义 一般数字表示出现的次数 字母表示的意义如下 字母 含义 R 电阻 C 电容 K 继电器 L 电感 U 整流器 字母的意义并非始终与表
  • 问题记录setStyleSheet:Qt样式表频繁设置导致CPU占用过高问题

    一 问题 APP控件 QWidget 主窗口 背景利用setStyleSheet设置 同时重写paintEvent事件 QWigdet的paintEvent默认为空 void mainWidget paintEvent QPaintEven
  • Java数组转Json数组

    package com cnic test coding import com alibaba fastjson JSONArray public class ArrToJson public static void main String
  • Java中为什么要重写hashCode方法和equals方法?重写了equals方法为什么还要重写hashCode方法? 啊~~终于明白了

    在我们开发中 可能经常听到重写hashCode方法和equals方法 这是为什么呢 为了更容易通俗易懂 来个小故事缓解一下激动的心情 打个比方 一个名叫张三的人去住酒店 在前台登记完名字就去了99层100号房间 此时警察来前台找叫张三的这个
  • 查询数据库所占空间大小

    目录 统计数据库整体所占大小 统计数据库中各表所占大小 统计数据库整体所占大小 select table schema as 数据库 sum table rows as 记录数 sum truncate data length 1024 1
  • 华为19级专家10年心血终成百页负载均衡高并发网关设计实战文档

    负载均衡 LoadBalance 的字面意思是将工作负载分担到多个工作单元上进行执行 它建立在现有网络结构之上 是构建分布式服务 大型网络应用的关键组件 近十几年来 负载均衡技术层出不穷 令人眼花缭乱 如果问身边的技术人员什么是负载均衡 我
  • Vjava学习笔记之(VirtualMachine 内存(总容量和已使用))

    源代码 package com vmware client import com vmware util Session import com vmware vim25 HostListSummary import com vmware v
  • 11G RAC 中 OCR 及Voting Disk 相关操作

    一 启动oracle clusterware 先决条件 Oracle High Availability Services daemon OHASD 运行在所有集群节点上 1 启动整个Oracle Clusterware stack crs
  • windows下git

    下载gitGit for Windows Windows安装git图文教程 喵代王 香菜的博客 CSDN博客 windows安装git 创建文件夹 右键 git bash here 同mac使用
  • 基于Spring Boot的ERP仓储管理信息系统设计与实现毕业设计源码150958

    基于Spring Boot的ERP仓储管理信息系统设计与实现 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化 电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用 信息时代的到来已成为不可阻挡的时尚潮流 人类发展的
  • 如何实现一个IO口读取多个设备信息

    前言 1 今天遇到一个有意思的问题一个IO口如何读取多个电机的堵转问题 之后他就发了一张图片 2 看到这个问题 之前先说一个简单的 我们如何实现一个IO读取多个按键 了解了这个之后 对于多个电机堵转就很好理解了 如何实现一个IO对多个按键读
  • 直方图均衡化原理

    原文 http www cnblogs com tianyalu p 5687782 html 直方图均衡化原理 直方图均衡化的作用是图像增强 有两个问题比较难懂 一是为什么要选用累积分布函数 二是为什么使用累积分布函数处理后像素值会均匀分
  • 从零开始的Java开发 笔记目录(跑路了)

    写在前面 不全 学习资料来源于网络 已经跑路了 文章目录 阶段1 Java零基础入门 第1周 环境搭建与语法入门 第2周 Java语法之循环 数组与方法 第3周 面向对象之封装与继承 第4周 面向对象之单例模式与多态 第5周 常用工具类 上
  • linux c++遍历文件夹下所有文件,C++ 遍历目录下文件

    function 遍历目录下所有文件 返回文件总数 子文件夹总数 修改一下可以获得全部文件名等 include stdlib h include direct h include string h include io h include
  • 对OOD/OOP有较深的理解

    最近 经常有很多人在求职的时候遇到这样一个问题 对OOD OOP有较深的理解 那OOD OOP又是什么 那今天就来讲讲它们都是些什么 又如何去回答 1 OOA Object oriented analysis 面向对象分析 面向对象分析方法