会计培训网站陕西省建设造价协会网站

张小明 2026/3/2 21:33:16
会计培训网站,陕西省建设造价协会网站,中国建设教育网官网是什么网站,推荐手机网站建设图书系统项目一.模块划分介绍Book-书籍相关模块Constant-常量值模块User-用户模块Utils-工具相关模块其中#xff0c;LibrarySystem是程序入口二.user模块角色上#xff0c;把图书系统分为管理员模块与普通用户模块#xff0c;同时支持多普通用户进行登录。每个用户的属性包…图书系统项目一.模块划分介绍Book-书籍相关模块Constant-常量值模块User-用户模块Utils-工具相关模块其中LibrarySystem是程序入口二.user模块角色上把图书系统分为管理员模块与普通用户模块同时支持多普通用户进行登录。每个用户的属性包括姓名、ID、角色2.1菜单方法的处理public abstract class User { protected String name; // ⽤⼾名 protected int userID; // ⽤⼾ID protected String role; // ⽤⼾⻆⾊管理员或普通⽤⼾ // 构造函数 public User(String name, int userID, String role) { this.name name; this.userID userID; this.role role; } public String getName() { return name; } public int getUserID() { return userID; } public String getRole() { return role; } /** * 定义菜单⽅法 该⽅法打印菜单同时 输出菜单的选择 * return */ public abstract int display(); }2.2AdminUser对象public class AdminUser extends User{ public AdminUser(String name,int userID) { super(name,userID,管理员); } Override public int display() { System.out.println(管理员 name 的操作菜单:); System.out.println(1. 查找图书); System.out.println(2. 打印所有的图书); System.out.println(3. 退出系统); System.out.println(4. 上架图书); System.out.println(5. 修改图书); System.out.println(6. 下架图书); System.out.println(7. 统计借阅次数); System.out.println(8. 查看最后欢迎的前K本书); System.out.println(9. 查看库存状态); System.out.println(10. 检查超过⼀年未下架的图书); System.out.println(请选择你的操作); return scanner.nextInt(); } //其他操作⽅法 //上架图书 public void addBook() { } //图书修改 ⽀持修改书名 作者 类别 public void updateBook() { } //删除书籍 public void removeBook() { } //统计每本书的借阅次数 public void borrowCount() { } //查询最受欢迎的前n本书 public void generateBook() { } //查看库存状态 public void checkInventoryStatus() { } //并移除上架超过⼀年的图书 public void checkAndRemoveOldBooks() { } public void exit() { } }2.3NormalUser对象public class NormalUser extends User { //如果是普通⽤⼾这⾥写死 public NormalUser(String name, int userID) { super(name, userID, 普通⽤⼾); } private void loadBorrowedBook() { } private void storeBorrowedBook() { } Override public int display() { System.out.println(普通⽤⼾ name 的操作菜单:); System.out.println(1. 查找图书); System.out.println(2. 打印所有的图书); System.out.println(3. 退出系统); System.out.println(4. 借阅图书); System.out.println(5. 归还图书); System.out.println(6. 查看当前个⼈借阅情况); System.out.println(请选择你的操作); return scanner.nextInt(); } //借阅图书 public void borrowBook() { } //归还图书 public void returnBook() { } // 查看个⼈借阅情况 public void viewBorrowBooks() { } }2.4LibrarySystem中整合当前⽤⼾相关信息LibrarySystem类中每次通过new关键字来创建对象如果有多个普通⽤⼾这⾥需要同样的代码new 很多次代码会有⼀些重复。public class LibrarySystem{ public static void main(String[] args) { // 直接创建管理员⽤⼾ User adminUser new AdminUser(刘备, 1); // 直接创建普通⽤⼾ User normalUser1 new NormalUser(关⽻, 2); User normalUser2 new NormalUser(张⻜, 3); } }三.User模块-引⼊⼯⼚⽅法模式在user包下创建factory包1.创建⼯⼚接⼝public interface IUserFactory { User createUser(String name, int userID); }2.创建具体的⼯程public class AdminUserFactory implements IUserFactory{ Override public User createUser(String name, int userID) { return new AdminUser(name,userID); } } public class NormalUserFactory implements IUserFactory{ Override public User createUser(String name, int userID) { return new NormalUser(name,userID); } }3.修改LibrarySystem类public class LibrarySystem{ public static void main(String[] args) { IUserFactory adminUserFactory new AdminUserFactory(); User adminUser adminUserFactory.createUser(刘备,1); IUserFactory normalUserFactory new NormalUserFactory(); User normalUser1 normalUserFactory.createUser(关⽻,2); User normalUser2 normalUserFactory.createUser(张⻜,3); } }四.User模块-引⼊代理模式控制对象权限通过代理真实的⽤⼾realUser通过构造⽅法进⾏传递。每⼀个操作通过权限检查进⾏调⽤。public class ProxyUser { //被代理的真实⽤⼾ private User realUser; public ProxyUser(User user) { //对被代理的对象进⾏赋值 realUser user; } public User getRealUser() { return realUser; } //其他操作 //调⽤菜单 public int display() { } //添加书籍操作 public void addBook() { } //更新书籍操作 public void updateBook() { } //移除图书 public void removeBook() { } //查看图书的借阅次数 public void borrowCount( ) { } //查看最受欢迎的前K本书 public void generateBook() { } //查看库存状态 public void checkInventoryStatus() { } //移除上架超过1年的书籍 public void checkAndRemoveOldBooks() { } //--------------普通相关⽅法---------------// //借阅图书 public void borrowBook() { //归还图书 public void returnBook() { } //查看个⼈借阅情况 public void viewBorrowHistory() { } }LibrarySystem类中进⾏整合public class LibrarySystem{ public static void main(String[] args) { IUserFactory adminUserFactory new AdminUserFactory(); User adminUser adminUserFactory.createUser(刘备,1); IUserFactory normalUserFactory new NormalUserFactory(); User normalUser1 normalUserFactory.createUser(关⽻,2); User normalUser2 normalUserFactory.createUser(张⻜,3); /** * 1.4 使⽤代理模式来管理权限 * 使⽤代理模式来控制 对象的访问 */ ProxyUser proxyUserAdmin new ProxyUser(adminUser); ProxyUser proxyUserNormalG new ProxyUser(normalUser1); ProxyUser proxyUserNormalZ new ProxyUser(normalUser2); } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

一 建设茶叶网站前的市场分析中国铁塔公司招聘网站

深入了解 OS X 中的 X11 与 Unix 文档资源 1. X11 简介与安装 在 Mac 上安装应用程序时,普通的 Mac 应用(免费软件、共享软件或商业软件)借助 OS X 的安装程序很容易完成安装,但 Unix 应用程序的安装界面就没那么便捷了。不同的 Unix 程序可能有不同的安装方法,有时需要…

张小明 2026/1/12 13:03:52 网站建设

竞拍网站模板网站建设做得好的公司

深蓝词库转换:输入法词库格式不兼容的终极解决方案 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 还在为不同输入法之间的词库无法通用而烦恼吗&#xf…

张小明 2026/1/12 14:34:35 网站建设

中山企业网站建设定制建设高端网站公司

MacType高DPI优化:让Windows字体在4K屏幕上焕然新生 【免费下载链接】mactype Better font rendering for Windows. 项目地址: https://gitcode.com/gh_mirrors/ma/mactype 你是否曾在高分辨率显示器上被Windows的模糊字体困扰?当系统默认的字体渲…

张小明 2026/1/12 8:19:09 网站建设

广州站到广州南站地铁要多久刷关键词排名seo

文章深入解析了大模型的五个核心概念:参数量影响模型复杂度和计算成本;Token是文本处理的基本单位;上下文窗口决定模型能"看到"的文本长度;上下文长度限制模型处理能力;温度控制输出的创造性与逻辑性。掌握这…

张小明 2026/1/10 21:18:20 网站建设

欧美网站设计风格新手什么网站做外贸

微信小程序逆向分析终极指南:wxappUnpacker工具实战解析 【免费下载链接】wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 还在为无法深入理解微信小程序内部机制而困扰吗?wxappUnpacker作为业界顶尖的小程序逆向…

张小明 2026/1/10 21:18:18 网站建设

外贸官网建站2008年做的网站

Godex终极指南:Godot引擎的完整ECS解决方案 【免费下载链接】godex Godex is a Godot Engine ECS library. 项目地址: https://gitcode.com/gh_mirrors/go/godex 想要构建高性能的Godot游戏项目?Godex作为Godot引擎的完整ECS库,通过实…

张小明 2026/1/12 2:29:01 网站建设