阶段二10_面向对象高级_分类分包思想和案例环境搭建

news2024/9/23 21:27:38

一.分类思想

1.分类思想概念:
分工协作,专人干专事
2.信息管理系统分类[案例]
Student 类-------------------->标准学生类,封装键盘录入的学生信息(id , name , age , birthday)
StudentDao 类----------------->Dao : (Data Access Object 缩写) 用于访问存储数据的数组或集合
StudentService 类------------->用来进行业务逻辑的处理(例如:判断录入的id是否存在)
StudentController 类---------->和用户打交道(接收用户需求,采集用户信息,打印数据到控制台)

二.分包思想

1.分包思想介绍
如果将所有的类文件都放在同一个包下,不利于管理和后期维护所以,
对于不同功能的类文件,可以放在不同的包下进行管理。
2.包的概述
包:本质上就是文件夹
创建包:(单级包、多级包)多级包之间使用".“进行分割。比如:com.baidu
包的命名规则:字母都是小写
3.包的定义
使用package关键字定义包
格式:package包名;如果是多级包,中间用”."进行分割。如:package com.baidu;

4.包的注意事项
package语句必须是程序的第一条可执行的代码
package语句在一个java文件中只能有一个
如果没有package,默认表示无包名

5.类与类之间的访问
同一个包下的访问
不需要导包,直接使用即可
不同包下的访问
import 导包后访问
通过全类名(包名 + 类名)访问[应用场景: 多个包下,出现了相同的类名称, 就可以使用这种访问进行区分]
注意:import 、package 、class 三个关键字的摆放位置存在顺序关系
package 必须是程序的第一条可执行的代码
import 需要写在 package 下面
class 需要在 import 下面

三.学生管理系统案例

需求1:
对学生的信息进行管理完成学生信息的增加,修改,删除,查询操作
需求2:
对老师的信息进行管理完成老师信息的增加,修改,删除,查询操作
需求说明3:
添加学生:
键盘录入学生信息(id,name,age,birthday)使用数组存储学生信息,要求学生的id不能重复。
删除学生:
键盘录入要删除学生的id值,将该学生从数组中移除,如果录入的id在数组中不存在,需要重新录入。
修改学生:
键盘录入要修改学生的id值和修改后的学生信息将数组中该学生的信息修改,
如果录入的id在数组中不存在,需要重新录入。
查询学生:
将数组中存储的所有学生的信息输出到控制台。
需求要求4:
使用分类思想、分包思想完成

具体实现步骤:
步骤1:环境搭建
创建模块:info-manager
创建包、创建类
包 存储的类 作用
com.gxcode.edu.info.manager.domain Student.java 封装学生信息
com.gxcode.edu.info.manager.dao StudentDao.java 访问存储数据的数组,进行赠删改查(库管)
com.gxcode.edu.info.manager.service StudentService.java 业务的逻辑处理(业务员)
com.gxcode.edu.info.manager.controller StudentController.java 和用户打交道(客服接待)
com.gxcode.edu.info.manager.entry InfoManagerEntry.java 程序的入口类,提供一个main方法
在这里插入图片描述

在这里插入图片描述

四.更多精彩内容查看

http://www.gxcode.top/code
在这里插入图片描述

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

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

相关文章

2022年全国职业院校技能大赛(中职组)网络安全竞赛试题(3)

目录 模块A 基础设施设置与安全加固 (本模块20分) 一、项目和任务描述: 假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求确保各服务正常运行,并通过综合运用用户安全管理与密码策略、…

vTESTstudio - VT System CAPL Functions - VT7001

vtsSerialClose - 关闭VT系统通道的串行端口功能:关闭由系统变量命名空间指定的VT系统通道的串行端口。Target:目标通道变量空间名称,例如:VTS::ECUPowerSupply返回值:0:成功重置目标通道最大和最小值-1&am…

密码的世界

网络世界中常见的攻击方法 窃听攻击 窃听攻击是网络世界最常见的一种攻击方式,一些不能泄露的隐私信息,例如银行卡密码,账号密码,如果被窃听泄露的话通常会带来比较严重的后果。 中间人攻击 在中间人攻击中,小明准…

九龙证券|突然哑火!最火爆中小盘明显回调,后市咋走?机构最新解读

中证1000和国证2000指数创年内新高后,连续2日回调。 2月17日A股商场震动下行,创业板指数跌幅超2%,近3000只个股跌落,北向资金小幅净流入,商场成交额接近万亿关口,港股也出现显着回调痕迹。 以中小市值公司…

XSS基础——xsslabs通关挑战

目录XSS基础一、XSS基础概念1、XSS基础概念2、XSS分类二、xsslabs通关挑战level 1level 2level 3htmlspecialchars函数html事件属性level 4level 5level 6level 7level 8深入理解浏览器解析机制和XSS向量编码level 9level 10level 11level 12level 13三、总结XSS基础 一、XSS基…

算法刷刷刷| 二叉树篇| 110平衡二叉树| 257二叉树的所有路径 |404左叶子之和| 513找树左下角的值| 112路径总和| 113路径总和II

110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 class Solution {public boolean isBalanced(TreeNode root) {int dfs…

【前端】Vue3+Vant4项目:旅游App-项目总结与预览(已开源)

文章目录项目预览首页Home日历:日期选择开始搜索位置选择上搜索框热门精选-房屋详情1热门精选-房屋详情2其他页面项目笔记项目代码项目数据项目预览 启动项目: npm run dev在浏览器中F12: 首页Home 热门精选滑动到底部后会自动加载新数据&a…

【factoryio】使用SCL编写 <机械手控制> 程序

使用虚拟工厂软件和博图联合仿真来编写【scl】机械手控制程序 文章目录 目录 文章目录 前言 二、程序编写 1.机械手运行部分 2.启动停止部分 3.急停复位部分 三、完整代码 总结 前言 在前面我们一起写过了许多案例控制的编写,在这一章我们一起来编写一下一个…

Vue中 引入使用 babel-polyfill 兼容低版本浏览器

注意:本文主要介绍的 vue-cli 版本:3.x, 4.x; 最近在项目中使用 webpack 打包后升级,用户反馈使用浏览器(chrome 45)访问白屏。经过排查发现:由于 chrome 45 无法兼容 ES6 语法导致的…

linux018之安装mysql

linux上安装mysql: 第一步:查看是否已经安装mariadb,mariadb是mysql数据库的分支,mariadb和mysql一起安装会有冲突,所以需要卸载掉。 yum list installed | grep mariadb :查看是否安装mariadb,…

「可信计算」论文初步解读

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…

数据结构与算法

1、复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半。(1)为什么需要复杂度分析&…

Github 学生优惠包 -- 最新防踩坑指南

Github学生优惠包的申请最近越来越麻烦,里面有非常多的坑,留下此文防止各位申请的时候踩到。 此文面向中国大陆真正有学生身份的同学!!! 文章目录前言1.用到的网址2.申请所需3.详细步骤4.踩坑点前言 记得在一年以前还…

进程的概念

进程的概念 程序的概念 这里说的是一个可执行文件,passive的意思可以理解为我们这个执行文件需要我们进行双击才会被被执行。 双击后,程序入口地址读入寄存器,程序加载入主存,成为一个进程 进程是主动去获取想要的资源&#xff0…

图解LeetCode——剑指 Offer 10- II. 青蛙跳台阶问题

一、题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e97(1000000007),如计算初始结果为:1000000008,请返回 1。 二、示例 2.1>…

inno setup打包软件学习

目录 一 打包结果 二 示例打包脚本 三 错误解决 3.1 另一个程序正在使用此文件,进程无法访问 3.2 桌面图标无法修改 四 参考资料 一 打包结果 测试程序来自: 泽森科工 (zenustech.com) 二 示例打包脚本 使用打包软件下载地址: in…

[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第四课 | Input/Lighting

📣📣📣本专栏所有内容在完结之前全部为试读模式,专栏完结之后会取消试读模式,如果感觉内容还不错的话请支持一下📣📣📣 ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的…

BUUCTF Reverse xor

题目:BUUCTF Reverse xor 一些犯傻后学到了新东西的记录 查壳,没壳,IDA打开 main函数很好理解,输入一个长度为33的字符串,1-32位与前一位异或后与global相等,则判定flag正确 找global 在strings window直…

【Java】《Java8 实战》 CompletableFuture 学习

文章目录前言1. 并发(Concurrent) 和 并行(Parallel)1.1 并发的来源1.2 并发技术解决了什么问题2. 并行的来源2.1 并行解决了什么问题3. CompletableFuture 简介4. CompletableFuture 简单应用5. CompletableFuture 工厂方法的应用6. CompletableFuture join() 方法7. 使用 Par…

2022黑马Redis跟学笔记.实战篇(七)

2022黑马Redis跟学笔记.实战篇 七4.11.附近的店铺功能4.11.1. GEO数据结构的基本用法1. 附近商户-导入店铺数据到GEO4.11.2. 获取附近的店铺1. 附近商户-实现附近商户功能4.9. 签到功能4.9.1.BitMap原理1. 用户签到-BitMap功能演示4.9.2.实现签到功能4.9.3.实现补签功能4.9.4.统…