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

广州企业网站建设报价旅游网站开发现状

广州企业网站建设报价,旅游网站开发现状,滨海建设局官方网站,房产中介网站建设技巧有了前几篇文章关于封装、继承、多态、接口等的介绍#xff0c;想必各位读者对java面向对象的思想有了一定的认识。接下来这篇文章就让我们趁热打铁#xff0c;利用所学知识做一个小项目图书管理系统吧 目录 一、图书类 1、book类 2、bookList类 二、功能实现 1、IOpera…        有了前几篇文章关于封装、继承、多态、接口等的介绍想必各位读者对java面向对象的思想有了一定的认识。接下来这篇文章就让我们趁热打铁利用所学知识做一个小项目图书管理系统吧 目录 一、图书类 1、book类 2、bookList类 二、功能实现 1、IOperation接口 2、查找图书 3、借阅图书 4、归还图书 5、新增图书 6、删除图书 7、显示图书 8、退出系统 三、用户类 四、主函数逻辑实现 总结 一、图书类 图书管理系统顾名思义起码要先有书被管理。因此我们应当先定义好于书相关的类。 1、book类 先定义一下单本书的特性一本书肯定会包含书名、作者、价格等信息我们可以建立一个book类来描述每本书的特性 package book;public class Book {private String name;private String author;private int price;private boolean IsBorrowed;public Book(String name, String author, int price) {this.name name;this.author author;this.price price;}public String getName() {return name;}public boolean isBorrowed() {return IsBorrowed;}public void setBorrowed(boolean borrowed) {this.IsBorrowed borrowed;}Overridepublic String toString() {return name name \ , author author \ , price price (IsBorrowed?, 已借出:, 未借出);} }2、bookList类 既然要做管理系统那就不可能只处理一本书了我们需要管理的是许多本特性各异的书。那么如何来存储这些信息呢我们可以建立一个列表类来记录我们的图书信息 package book;public class BookList {private Book[] booksnew Book[20];private int userSize;public BookList() {books[0]new Book(海贼王,尾田荣一郎,17);books[1]new Book(火影忍者,尾田荣一郎,19);books[2]new Book(红楼梦,曹雪芹,45);books[3]new Book(西游记,吴承恩,40);books[4]new Book(三国演义,罗贯中,37);this.userSize5;}public int getUserSize() {return userSize;}public void setUserSize(int userSize) {this.userSize userSize;}public boolean isFull(){if(this.userSizebooks.length){return true;}else{return false;}}public Book getBook(int pos){return books[pos];}public void setBook(int pos,Book book){books[pos]book;} }二、功能实现 已经存储好书本信息后 我们就要明确我们究竟要实现哪些功能 具体实现就由小编来带大家一一介绍吧 1、IOperation接口 为了功能实现的方便我们通过接口来实现各个功能先定义一个接口IOperation public interface IOperation {void work(BookList bookList); } 接着就可以通过重写接口中的work方法来实现各个的功能了并且由于多态性我们可以将各种不同功能的接口按顺序放在一个数组里通过数组访问来实现不同功能大大提高了效率。 如果你不知道多态是什么的话可以看看小编之前的文章面向对象三大特性之多态 哦 2、查找图书 public class FindOperatino implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(查找图书………………);System.out.println(请输入你要查找的书名);Scanner in new Scanner(System.in);String booknamein.nextLine();int Size bookList.getUserSize();for(int i0;iSize;i){Book bookbookList.getBook(i);if(book.getName().equals(bookname)){System.out.println(找到了这本书);System.out.println(book);return;}}System.out.println(没有你要找的书);} } 3、借阅图书 public class BorrowedOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(借阅图书………………);System.out.println(请输入你要借阅的书名);Scanner in new Scanner(System.in);String booknamein.nextLine();int Size bookList.getUserSize();for(int i0;iSize;i){Book bookbookList.getBook(i);if(book.getName().equals(bookname)){System.out.println(借阅成功);book.setBorrowed(true);//System.out.println(book);return;}}System.out.println(没有你要借阅的书);} } 4、归还图书 public class ReturnOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(归还图书………………);System.out.println(请输入你要归还的图书);Scanner in new Scanner(System.in);String booknamein.nextLine();int Size bookList.getUserSize();for(int i0;iSize;i){Book bookbookList.getBook(i);if(book.getName().equals(bookname)book.isBorrowed()){System.out.println(归还成功);book.setBorrowed(false);//System.out.println(book);return;}}System.out.println(没有你要归还的书);} } 5、新增图书 public class AddOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(新增图书………………);Scanner innew Scanner(System.in);if(bookList.isFull()){System.out.println(书架满了无法新增图书了);return;}System.out.println(请输入图书的名称);String namein.nextLine();System.out.println(请输入图书的作者);String authorin.nextLine();System.out.println(请输入图书的价格);int pricein.nextInt();Book booknew Book(name,author,price);int pos bookList.getUserSize();bookList.setBook(pos,book);bookList.setUserSize(pos1);} } 6、删除图书 public class DeleteOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(删除图书………………);System.out.println(请输入你要删除的图书);Scanner in new Scanner(System.in);String booknamein.nextLine();int Size bookList.getUserSize();for(int i0;iSize;i){Book bookbookList.getBook(i);if(book.getName().equals(bookname)){for(int ji;jSize;j){Book booklbookList.getBook(j1);bookList.setBook(j,bookl);}bookList.setUserSize(Size-1);System.out.println(删除成功);//System.out.println(book);return;}}System.out.println(没有你要删除的书);} } 7、显示图书 public class ShowOperation implements IOperation{Overridepublic void work(BookList bookList) {System.out.println(显示图书………………);int Size bookList.getUserSize();for(int i0;iSize;i){Book bookbookList.getBook(i);System.out.println(book);}} } 8、退出系统 public class ExitOperation implements IOperation {Overridepublic void work(Bookshelf bookshelf) {System.out.println(退出图书...);int szbookshelf.getBooknum();// 遍历置为 nullfor (int i 0; i sz ; i) {bookshelf.setBooks(i,null);}System.out.println(图书系统正在退出中...);// 系统退出System.exit(-1);} } 这时我们就可以用如下方法来整合了 super(name);this.iOperationsnew IOperation[]{new ExitOperation(),new FindOperatino(),new AddOperation(),new DeleteOperation(),new ShowOperation()}; 这样就可以通过数组的不同下标来实现功能了,会变得方便许多。 三、用户类 作为一个图书管理系统我们应当设置不同的用户特性如增删书籍应该是管理员才有的权限借阅书籍是普通用户需要实现的功能但同时他们又有许多的共性如姓名等信息这时我们就可以利用继承的思想先定义一个父类User来记录用户的共性 abstract public class User {protected String name;protected IOperation[] iOperations;public User(String name) {this.name name;}public void doIoperation(int choice, BookList bookList){this.iOperations[choice].work(bookList);}public abstract int menu(); } 接着我们就可以写出各个具体的子类用户了 管理员用户 public class AdminUser extends User {public AdminUser(String name) {super(name);this.iOperationsnew IOperation[]{new ExitOperation(),new FindOperatino(),new AddOperation(),new DeleteOperation(),new ShowOperation()};}public int menu(){System.out.println(*********管理员菜单*********);System.out.println(1.查找图书);System.out.println(2.新增图书);System.out.println(3.删除图书);System.out.println(4.显示图书);System.out.println(0.退出系统);System.out.println(**************************);System.out.println(请输入你的操作);Scanner innew Scanner(System.in);int choicein.nextInt();return choice;} } 普通用户: public class NormalUser extends User{public NormalUser(String name) {super(name);this.iOperationsnew IOperation[]{new ExitOperation(),new FindOperatino(),new BorrowedOperation(),new ReturnOperation()};}public int menu(){System.out.println(*********普通用户菜单*******);System.out.println(1.查找图书);System.out.println(2.借阅图书);System.out.println(3.归还图书);System.out.println(0.退出系统);System.out.println(**************************);System.out.println(请输入你的操作);Scanner innew Scanner(System.in);int choicein.nextInt();return choice;} } 四、主函数逻辑实现 public class Main {public static User login(){Scanner in new Scanner(System.in);System.out.println(欢迎来到图书管理系统);System.out.println(请输入你的名字);String namein.nextLine();System.out.println(请输入你的身份);String identityin.nextLine();if(identity.equals(管理员)){AdminUser adminUsernew AdminUser(name);return adminUser;}else{NormalUser normalUsernew NormalUser(name);return normalUser;}}public static void main(String[] args) {BookList bookListnew BookList();User userlogin();while(true){int choiceuser.menu();user.doIoperation(choice,bookList);}} }通过主函数逻辑来整合我们写过的各个模块从而实现最终功能。 总结 从这个项目中我们可以看到在父类User中实例化了iOperations对象建立了一个以IOperation为元素的数组接着在子类中按顺序建立创建好的功能接口从而可以直接用下标来访问相应接口这利用继承、多态、接口等思想可谓是对面向对象思想的深度诠释。 那么本篇文章就到此为止了如果觉得这篇文章对你有帮助的话可以点一下关注和点赞来支持作者哦。作者还是一个萌新如果有什么讲的不对的地方欢迎在评论区指出希望能够和你们一起进步✊
http://www.dnsts.com.cn/news/278737.html

相关文章:

  • 郑州企业型网站建设十大小程序开发公司
  • 江阴做网站的企业建个网站做产品怎样
  • 网站建设丿金手指15深圳中小企业网站制作
  • 临海企业网站建设公司住房和城乡建设部政务服务门户
  • 湘西做网站做微网站必须要有公众号吗
  • 家政类网站开发成本网站推广方案的构成
  • 重庆免费网站推广软件优秀的设计网站推荐
  • 制作网站要花多少钱wordpress 拍卖 主题
  • 网站设计证书重庆九龙坡营销型网站建设公司哪家好
  • php网站本地搭建上海知名的网站建设公司
  • 网站官网认证加v怎么做用哪个网站做首页比较好
  • 企业门户网站建设方案后台管理王占山 同济大学
  • 滁州做网站的竞价账户托管的公司有哪些
  • 搭建自己的网站需要什么导航页面wordpress代码
  • 如何仿制wordpress网站温州哪里做网站设计
  • 免费网站怎么做啊seo网站设计多少钱
  • 网站解析什么意思无锡网站建设书生商友
  • 网站建设忄金手指花总泗水网站建设
  • 做暧嗳网站简述什么是百度竞价排名
  • 网站百度搜不到html网页开发工具
  • 青海高等级公路建设管理局网站应用软件app
  • 网站后台是怎样制作wap社区游戏入口
  • 广州营销型网站做网站作品是静态
  • dedecms 网站栏目管理什么是网站平台开发工具
  • 网站建设教程实训心得重庆网站制作一般需要多少钱
  • 网站 猜你喜欢 怎么做代码编程软件免费
  • 网页设计与网站建设实训报告如何查询网站备案进度查询
  • 网站开发前景好吗广西最近发生的重大新闻
  • 可以自己做网站做宣传吗网站开发怎样
  • 淘宝商家网站建设南京计算机培训机构哪个最好