软考高级:类的分类(边界类、控制类、实体类)概念和例题

news2024/11/28 0:37:55

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。

热门文章推荐

  • (1)《为什么很多人工作 3 年 却只有 1 年经验?》
  • (2)《一文掌握大模型提示词技巧:从战略到战术巧》
  • (3)《AI 时代,程序员的出路在何方?》
  • (4)《如何写出高质量的文章:从战略到战术》
  • (5)《我的技术学习方法论》
  • (6)《我的性能方法论》
  • (7)《AI 时代的学习方式: 和文档对话》

一、AI 讲解

面向对象设计是软件工程中一种常见的设计方法论,它通过将现实世界的问题抽象成对象来进行模拟。在面向对象设计中,类是一种将属性(数据)和方法(操作数据的函数)封装起来的结构。根据类在系统中扮演的角色和职责的不同,我们通常将类分为三大类:边界类、控制类和实体类。这种分类有助于在复杂系统中实现关注点分离,从而提高系统的可维护性和可扩展性。

类型职责例子
边界类作为系统与外部世界(如用户界面、外部系统)之间交互的接口用户界面
控制类负责实现系统的业务逻辑,处理数据流和控制应用程序的流程订单管理、用户认证
实体类表示系统中的业务数据及其相关操作,通常对应现实世界中的实体对象用户、产品、订单等实体

在这里插入图片描述

二、AI 出题

2.1 选择题

  1. 下列哪一项最适合作为边界类?
    A. 用户
    B. 用户界面
    C. 产品库存
    D. 订单处理

  2. 控制类在系统中扮演的角色是什么?
    A. 与外界通信
    B. 处理业务逻辑
    C. 存储数据
    D. 提供接口服务

  3. 实体类通常用于表示什么?
    A. 系统的业务逻辑
    B. 系统与外部的交互
    C. 系统中的业务数据及其操作
    D. 系统的控制流程

  4. 下列关于边界类的描述,哪一项是错误的?
    A. 边界类用于实现用户界面
    B. 边界类用于存储业务数据
    C. 边界类作为系统与外界的接口
    D. 边界类可以是Web页面

  5. 在一个电商系统中,处理支付流程的类属于哪一类?
    A. 边界类
    B. 控制类
    C. 实体类
    D. 数据库类

  6. 用户类在面向对象设计中通常被归类为什么?
    A. 边界类
    B. 控制类
    C. 实体类
    D. 服务类

  7. 下列哪一项不是控制类的职责?
    A. 处理数据流
    B. 实现业务逻辑
    C. 直接与用户交互
    D. 控制应用程序的流程

  8. 实体类的主要职责是什么?
    A. 实现用户界面
    B. 作为系统与外部世界的接口
    C. 表示业务数据及其相关操作
    D. 处理系统的业务逻辑

  9. 在面向对象设计中,边界类的主要功能是什么?
    A. 存储业务数据
    B. 处理业务逻辑
    C. 作为系统与外界的接口
    D. 控制数据流

  10. 控制类在软件系统中的作用是什么?
    A. 存储和管理数据
    B. 实现业务逻辑和数据流控制
    C. 提供用户界面
    D. 直接与外部系统交互

2.2 答案和解析

  1. B. 用户界面

    • 边界类用于实现系统与外部世界的交互,如用户界面。
  2. B. 处理业务逻辑

    • 控制类负责处理系统中的业务逻辑和控制流程。
  3. C. 系统中的业务数据及其操作

    • 实体类表示系统中的业务数据及其操作,对应现实世界中的实体。
  4. B. 边界类用于存储业务数据

    • 错误描述,边界类的职责是作为系统与外界的接口,不负责存储业务数据。
  5. B. 控制类

    • 处理支付流程是一项业务逻辑,由控制类负责。
  6. C. 实体类

    • 用户类通常作为实体类,表示系统中的业务数据及其操作。
  7. C. 直接与用户交互

    • 控制类的职责不包括直接与用户交互,这是边界类的职责。
  8. C. 表示业务数据及其相关操作

    • 实体类的主要职责是表示业务数据及其操作。
  9. C. 作为系统与外界的接口

    • 边界类的主要功能是作为系统与外部世界(如用户或其他系统)的接口。
  10. B. 实现业务逻辑和数据流控制

    • 控制类的作用是实现系统的业务逻辑和控制数据流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java初阶(二)】分支与循环

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 目录 1.前言2.顺序结构3.分支循环3.1if语句3.2switch语句 4.循环结构4.1while循环4.2 break和continue4.3 for循环4.4 do while循环 5.输入输出5.1输出5.2输…

记录C++中,子类同名属性并不能完全覆盖父类属性的问题

问题代码&#xff1a; 首先看一段代码&#xff1a;很简单&#xff0c;就是BBB继承自AAA&#xff0c;然后BBB重写定义了同名属性&#xff0c;然后调用父类AAA的打印函数&#xff1a; #include <iostream> using namespace std;class AAA { public:AAA() {}~AAA() {}void …

Django单表数据库操作

单表操作 测试脚本 当你只想测试django某一个py文件的内容,可以不用书写前后端的交互,直接写一个测试脚本即可 单表删除 数据库操作方法: 1.all():查询所有的数据 2.filter():带有过滤条件的查询 3.get():直接拿数据对象,不存在则报错 4.first():拿queryset里面的第一个元素…

【数据结构取经之路】栈

目录 引言 栈的性质 顺序栈 栈的基本操作 初始化 销毁 插入 删除 判空 取栈顶元素 栈的大小 完整代码&#xff1a; 引言 栈(stack)&#xff0c;可以用数组实现&#xff0c;也可以用链表实现。用数组实现的栈叫顺序栈&#xff0c;用链表实现的栈叫链式栈&#…

红外相机和RGB相机标定:实现两种模态数据融合

1. 前期准备 RGB相机&#xff1a;森云智能SG2-IMX390&#xff0c;1个红外相机&#xff1a;艾睿光电IR-Pilot 640X-32G&#xff0c;1个红外标定板&#xff1a;https://item.taobao.com/item.htm?_ujp3fdd12b99&id644506141871&spma1z09.2.0.0.5f822e8dKrxxYI 2.操作步…

C# 方法(函数)

文章目录 C# 方法&#xff08;函数&#xff09;简单示例程序代码运行效果 值传递和引用传递示例程序 运行效果按输出传递参数运行结果 C# 方法&#xff08;函数&#xff09; 简单示例 程序代码 访问的限制符 using System; using System.Collections.Generic; using Syste…

DevEco Studio 项目创建

安装DevEco Studio后开始使用&#xff0c;双击桌面DevEco Studio 快捷方式弹出界面&#xff1a; 选择Application —> Empty Ability&#xff0c;点击Next 项目配置 Project name&#xff1a;工程的名称&#xff0c;可以自定义&#xff0c;由大小写字母、数字和下划线组成。…

JavaSE——面向对象高级二(3/4)-接口(认识接口、接口的好处)以及接口的综合案例(设计班级学生的信息管理模块)

目录 接口 认识接口 接口的好处 接口的综合案例 需求 学生类 班级管理类 学生操作接口 学生操作类 完善班级管理类 测试 接口 认识接口 Java提供了一个关键字 interface&#xff0c;用这个关键字我们可以定义出一个特殊的结构&#xff1a;接口。 public interface…

个人网站制作 Part 13 添加搜索功能[Elasticsearch] | Web开发项目

文章目录 &#x1f469;‍&#x1f4bb; 基础Web开发练手项目系列&#xff1a;个人网站制作&#x1f680; 添加搜索功能&#x1f528;使用Elasticsearch&#x1f527;步骤 1: 安装Elasticsearch&#x1f527;步骤 2: 配置Elasticsearch&#x1f527;步骤 3: 创建索引 &#x1f…

[论文笔记] Dual-Channel Span for Aspect Sentiment Triplet Extraction

一种利用句法依赖和词性相关性信息来过滤噪声&#xff08;无关跨度&#xff09;的基于span方法。 会议EMNLP 2023作者Pan Li, Ping Li, Kai Zhang团队Southwest Petroleum University论文地址https://aclanthology.org/2023.emnlp-main.17/代码地址https://github.com/bert-ply…

长安链Docker Java智能合约引擎的架构、应用与规划

#功能发布 长安链3.0正式版发布了多个重点功能&#xff0c;包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中&#xff0c;对Java合约语言支持是开…

ideaSSM 财务凭证管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 财务凭证管理系统是一套完善的信息管理系统&#xff0c;结合SSM框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff…

[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)

目录 1、介绍2、实现方法2.1 算法实现过程2.2 模拟采集流程 3、总结4、代码展示 1、介绍 在机器视觉的开发中&#xff0c;现在有很多通过电机去做相机的聚焦调节&#xff0c;对比手工调节&#xff0c;自动调节效果更好&#xff0c;而且其也能满足设备自动的需求&#xff0c;尤…

高效的Gitlab Flow最佳实践

文章目录 一、git flow二、github flow三、gitlab flow四、基于gitlab flow的最佳实践1.语义化版本号2.测试发布3.bug修复 参考 业界包含三种flow&#xff1a; Git flowGithub flowGitlab flow 三种工作流程&#xff0c;有一个共同点&#xff1a;都采用"功能驱动式开发&…

圆弧齿的模型怎么建立?

今天咱们聊一聊圆弧齿的相关内容&#xff0c;有兴趣的小伙伴一起来看看吧。 圆弧齿轮发展历史 早期齿轮传动的速度较低、传递的功率小&#xff0c;长期的生产实践使得人们开始意识到对齿轮单个轮齿形状&#xff08;轮齿齿形&#xff09;的研究的重要性&#xff0c;齿轮的齿形…

5G安全技术新突破!亚信安全5G安全迅龙引擎正式发布

5G专网应用飞速增长&#xff1a;2020年5G专网数量800个&#xff0c;2021年2300个&#xff0c;2022年5325个&#xff0c;2023年已经超过16000个&#xff0c;5G与垂直行业的融合快速加深&#xff0c;5G带来的变革正加速渗透至各行各业。 5G网络出现安全问题&#xff0c;将是异常严…

MNN createFromBuffer(一)

系列文章目录 MNN createFromBuffer&#xff08;一&#xff09; MNN createRuntime&#xff08;二&#xff09; MNN createSession 之 Schedule&#xff08;三&#xff09; MNN createSession 之创建流水线后端&#xff08;四&#xff09; MNN Session::resize 之流水线编码&am…

C语言例3-12:自增和自减运算的例子

i 先引用后加1--i 先减1后引用 代码如下&#xff1a; #include<stdio.h> int main(void) {int i2, j2;char c1d, c2D; //d(100) D(68)printf("i %d\n",i); //3, i3printf("j-- %d\n",j--); …

Design Script之案例练习:曲线组合

让我们来探索一下如何创建分组曲线函数。这个函数将取一个无序曲线列表(必须是连续的),并将它们组合成分组的循环。 在这个例子中,我们将采取一系列的9个爆炸矩形,并洗牌合成曲线。这给了我们36条单独的曲线,它们可以正确地组合回各自的矩形中。 一些分散的曲线显示在右边…

发布镜像到阿里云仓库

发布上一篇Dockerfile实战-自定义的centos镜像。 1、登录阿里云 2、找到容器镜像服务 3、创建命令空间 4、创建镜像仓库 5、点击进入这个镜像仓库&#xff0c;可以看到所有的信息 6、根据操作指南测试推送发布 6.1登录阿里云 [rootzhoujunru home]# docker login --usernam…