当前位置: 首页 > news >正文

图书管理系统框架构建的收获

父类化

代码实现时,我们尽量把类能共有化出来放进共用类管理,把各子类内容尽量化到各父类上,因为父类的格式是相同的,所以就可以用父类的一个格式使用应对管理到所有子类各似复刻变量都尽量转型到父类似复刻变量来统一进行,里面的成员都尽量完成往父类放、方法往父类放重写实现,以后就能用父类的一种似复刻变量写法兼顾都能解决针对多种多个似复刻变量的多种情况,实现代码的高效性


1.操作类父类化

对书架的各种操作类里面的内容都尽量各自父类化到那个同种的操作接口上,各种操作的类各自都连上同种的操作接口,之后都向上转型由它共同同种的父类的一个格式来操作即可操作到所有,在创建操作子类时一创建好就直接赋值转型都向上转型成父类接口操作,存储在父类接口数组用父类接口数组统一全部管理起来了


2.用户类父类化

管理员用户类、普通用户类的里内容尽量共用父类化到用户类上,存储的拥有使用权限数组也放到父类用父类统一格式,之后不管是使用管理员的权限还是普通用户的权限都是存储在它们各自的父类上的,都是用各自父类去调用使用,此时它们又是同种父类,使用格式就可以相同了且有向上转型保证精确服务能用父类统一的用父类统一的用设置下向上转型就能实现它们以父类出发解决的一种格式下能针对处理到不止一个情况的多情况

将两种用户里面的父类化后用父类来统一存储的使用权限数组也父类化到用户类中,在创建出普通用户类似复刻变量、管理用户类似复刻变量后通过返回值转接向上转型到父类用户类的似复刻变量,都用父类用户类的这种似复刻变量来进行的


3.子类对父类化的负责

放进父类里父类化的成员、方法各子类要有实现对它们负责,主要有重写与构造

String name;

—— 将用户姓名父类化,管理员用户与普通用户的姓名是各自不相同的,在构造时给各自父类各自构造上各自初始化上


IOPeration[] ioPerations;

—— 将用户储存拥有的操作类似复刻变量数组父类化,管理员用户与普通用户使用权限操作数数组里的初始化内容也是不同需要各自去实现初始化构造的


abstract int menu();

—— 将用户的菜单打印方法父类化,这边管理员用户与普通用户具体是不同的,各子类要对应有去重写


void doOperation(int choice, BookList bookList) {
    ioPerations[choice].work(bookList);
}
—— 将用户的操作书架的方法父类化,这里不用重写回去,因为管理员与普通用户在对书架的操作上没有特别操作区别的,都是同种的操作,只是拥有的操作个数不同而已,操作数不同的可以在父类这边实现,每个操作的实现管理员与普通用户没有区别的也不用重写去实现具体的都交到父类这边完成就可以了,在它这边就能直接实现了

 

相关文章:

  • rdiff-backup备份
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 6
  • Java中的大数据流处理框架与技术比较
  • 计算机毕业设计SpringBoot+Vue.js公司日常考勤系统(源码+文档+PPT+讲解)
  • SourceTree配置SSH步骤详解
  • SAP-ABAP:SAP数据库视图(Database View)详解-创建
  • CAN硬件协议详解
  • 怎么排查页面响应慢的问题
  • Nginx系列09(Nginx 与其他服务集成、实战项目)
  • 机器学习:线性回归,梯度下降
  • freertos 学习5--链路状态设置
  • 房屋租赁|房屋租赁系统|基于Springboot的房屋租赁系统设计与实现(源码+数据库+文档)
  • k8s出问题后 应该查看哪些内容
  • QT基础十、表格组件:QTableWidget
  • Text-to-SQL将自然语言转换为数据库查询语句
  • 【网络安全】敏感字段扫描工具(可用于漏洞挖掘、代码审计)
  • 为什么深度学习选择Tensor而非NumPy数组?核心优势深度解析
  • 两道算法练习
  • 论文笔记-NeurIPS2017-DropoutNet
  • 一周一个Unity小游戏2D反弹球游戏 - 球的死区及球重生
  • 网站建设价格如何/seo站外优化平台
  • 北京英文网站建设/高端网站建设公司哪家好
  • 怎么用网吧电脑做网站服务器/seo网络优化是做什么的
  • 企业搭建一个营销型网站多少钱/学seo建网站
  • 网站的域名每年都要续费/产品营销推广策略
  • 做网站的财务需求/网站推广优化