首页 > 其他分享 >01分类和static(信息管理系统的初级版本)

01分类和static(信息管理系统的初级版本)

时间:2023-06-23 17:55:13浏览次数:41  
标签:01 客服 代码 录入 static 修饰 信息管理系统 id

01分类和static

案例驱动教学模式介绍



业务逻辑聚集的过于紧密,将导致我们的代码可读性很差

  • 达成目标

分类思想


我们之前写的学生管理系统是把所以的业务功能都放在一个java文件中,如果出现了问题维护起来也不太方便。我们需要将代码进行拆分,进行分类管理

  • 当工作量比较小时
  • 工作量大了进行分工协作效率更高,也更易于管理

  • 当用户来访问我们的系统
  • 由客服进行接待,用户表达诉求,客服做出相应的反应


此时当用户提供数据,我们的客服不能拿着数据直接去找存储数据具的集合或者数组,因为进行了跨部门,访问集合或者数组的操作只能由库管来完成,而客服的职责只能是和用户打交道,它并没有权限去操作数组和集合

  • 客服应该接收到信息,通知Studentservice(业务员来做添加操作)
  • 业务员会进行一些业务逻辑的处理,但是判断id是否存在等一些操作需要找StudentDAO(库管)帮忙

  • DAO(库管)访问数据集合,然后将结果告诉StudentService(业务员)
  • 业务员将id可用的消息告诉客服,可用继续录入信息

  • 此时客服会告诉用户进行输入信息

    后面用户继续录入信息,然后由客服请求业务员进行逻辑处理,逻辑员请求库管进行协作,然后库管操作数据库,这样一步步处理,然后将处理结果一步步上传到客服,以此反复
  • 总结

包的概念和定义

从分类的思想可用知道,我们的项目会被划分为多个类,而这些类文件也需要被管理。即通过分包来管理

  • 包的概述

包的注意事项和类访问

包的定义(package语句)必须为类文件中第一条可执行代码



我们可以看到使用全类名进行访问的话比较麻烦,所以在大多数时间里面,我们都是使用导包来完成不同包中类的访问。

使用全类名访问的应用场景

  • 当我们需要使用2个不同包中相同名称的类时**
  • 发现通过导包访问会报错
  • 此时就可以通过全类名进行区分
  • 总结

黑马信息管理系统--需求说明和效果演示



注意在学生或者是老师管理系统输入5退出时,是退出到主界面,再次按5退出时才是完全退出程序

环境搭建

  • 分析那些代码属于那些类处理


菜单搭建

  • 当输入1时要跳转到学生管理系统

根据各司其职的原则,当用户输入1时将跳转到学生管理系统,其中学生管理系统的页面展示应该是由StudentController来完成的

基本添加功能思路分析

基本添加功能代码实现

  • 添加功能的实现

    该思路就是每次添加的时候遍历我们的数据数组,如果为位置为空,则break,然后将数据存入该位置。我感觉这样有定麻烦

添加功能--加入学号判断

  • 优化部分

关于为什么,此时关于输入id的唯一性判断没有成功实现的问题分析

  • 内存中都有2份对象

    第一次添加的数据会存储在第一个对象的数组中,第二次添加的会存储在第二个对象的数组中,这就是问题所在
  • 使用static关键字解决

Static关键字的特点



static注意事项--学号存在问题解决

静态成员存在的时候,非静态成员可能还不存在

关于static修饰的成员不能调用非static修饰的成员的理解:

  • static修饰的内容会随着类的加载而加载到内存中,而非static修饰的内容会随着对象的创建而存在

  • 当调用static修饰的内容时,对象可能还不存在,所以非static修饰的成员也还不存在。所以static 修饰的成员不能调用static

  • 修饰的成员
    为什么static修饰的内容里面不能存在this关键字

  • this表示当前正在调用的对象的引用

  • 当static修饰的方法被调用的时候可能还不存在对象

为什么非静态修饰的成员既可以访问非静态修饰的成员也可以访问静态修饰的成员?

  • 因为非static修饰的内容随着对象的存在而存在,而static修饰的内容在对象存在之前一定已经存在
  • 总结

学号存在问题的解决

查看学生

  • 思路分析

删除功能 ----代码实现

  • 思路分析

    我们发现我们在一个类中的很多方法中都创建了Scanner ,优点浪费,可以直接在成员的位置创建一个即可

在这里我们删除数组中的元素是直接使用Null进行覆盖,所以获取数组中的元素的时候必须要判断是否为Null

修改功能--代码实现

  • 思路分析

学生管理系统的优化

  • 录入id优化

在我们的代码中存在2段都是录入学生id,并且判断该id是否存在,不存在则循环继续录入的的代码。这样将会造成代码冗余。我们可以将这段代码抽取成一个方法

我们的add方法和update和delect方法关于id录入的逻辑是不一样的,所以不能将add里面的录入id的代码也和upate一样录入成一个方法

  • 录入学生信息优化

老师管理系统

环境搭建



菜单搭建

添加功能

查询功能

删除功能

修改功能

代码优化(老师管理系统)

标签:01,客服,代码,录入,static,修饰,信息管理系统,id
From: https://www.cnblogs.com/swtaa/p/17492688.html

相关文章

  • NC24727 [USACO 2010 Feb G]Slowing down
    题目链接题目题目描述EverydayeachofFarmerJohn'sN(1<=N<=100,000)cowsconvenientlynumbered1..Nmovefromthebarntoherprivatepasture.Thepasturesareorganizedasatree,withthebarnbeingonpasture1.ExactlyN-1cowunidirectional......
  • NC24141 [USACO 2011 Dec G]Grass Planting
    题目链接题目题目描述FarmerJohnhasNbarrenpastures(2<=N<=100,000)connectedbyN-1bidirectionalroads,suchthatthereisexactlyonepathbetweenanytwopastures.Bessie,acowwholoveshergrazingtime,oftencomplainsabouthowthereisnogr......
  • NC24048 [USACO 2017 Jan P]Promotion Counting
    题目链接题目题目描述Thecowshaveonceagaintriedtoformastartupcompany,failingtorememberfrompastexperiencethatcowsmaketerriblemanagers!Thecows,convenientlynumbered1…N(\(1\leqN\leq100,000\)),organizethecompanyasatree,withco......
  • NC20139 [JLOI2014]松鼠的新家
    题目链接题目题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请维尼小熊前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a......
  • AGC016
    sta老师的曲绘风格确实很科幻。艺术番茄。上边挂着个数分学习笔记确实很怪。赶紧把这一章完结了。我之前写的题解没了,还得重写一遍。[AGC016A]Shrinking你说的好像挺对的。#include<cstdio>#include<algorithm>#include<cstring>#include<bitset>#include<iostrea......
  • NC20573 [SDOI2011]染色
    题目链接题目题目描述给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。请你写一个程序依次完成这m......
  • NC16527 [NOIP2013]货车运输
    题目链接题目题目描述A国有n座城市,编号从1到n,城市之间有m条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有q辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入描述第一行有两个用一个空格隔开的整数n,m,表示A国......
  • 2013年至今各大AI顶会最佳论文整理分享
        计算机领域的学术会议分为A+,A,B,C,L共5个档次。其中A+类属于顶级会议;A类是仅次于顶会的高级别会议;B类的会议论文录用难度相对比较容易,当然也有非常多论文质量很硬的会议。C类和L类会议相对知名度比较低,论文发表也很容易,但是认可度不高。    本资源收集了自2013年......
  • 斯坦福大学新课CS224W-2019-图网络机器学习算法-视频及ppt资源分享
    课程内容介绍   网络是建模复杂的社会,技术和生物系统的基本工具。结合在线社交网络的出现和生物科学中大规模数据的可用性,本课程着重分析大型网络,这些大型网络提出了一些计算,算法和建模方面的挑战。通过学习他们的底层网络结构和连接关系,向学生介绍了机器学习技术和数据挖掘工......
  • 后台报401,怎么处理
    1、401状态码的含义axios向服务器端发送请求时,服务器端有些api接口要求传递token,token失效或没有传递,就会报401错误服务端要求传递token信息,而实际发送请求时没有传递。发送请求时有传递token到达服务器端,但由于时间比较久,这个token在服务器中已经过期了(服务器存储token有效......