当前位置: 首页 > 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.w-s-a.com/news/443535/

相关文章:

  • 西安网络技术有限公司网站扬中网站建设方案
  • 青海省教育厅门户网站wordpress core
  • idc科技公司网站模板蜜雪冰城网络营销案例分析
  • 微信与网站对接手机软件怎么做
  • 户县网站建设珠海专业制作网站
  • 麦当劳的网站优化建议猎头公司工作怎么样
  • 合肥地区网站制作网页浏览器打不开
  • 做网站的不给ftp网站如何做触屏滑动
  • wordpress statraq重庆百度优化
  • 企业网站官网英文WordPress站点切换为中文
  • 服装公司网站定位一点号自媒体平台
  • 密云微网站建设汽车之家手机官网首页
  • 多语言外贸网站制作苏州建设网站微信公众号
  • 用wordpress建站学什么百度给企业做网站吗
  • 福建城乡建设网站做数码测评的网站
  • 东海县建设局网站wordpress 好用的主题
  • 网站图片设计制作制作一个门户网站需要多少钱
  • 虚拟币交易网站源码自己给网站做支付接口
  • 免费的seo网站在线 crm
  • 绍兴市高速公路建设指挥部网站网站主页和子页风格如何统一
  • 获取网站状态网站租金可以做办公费吗
  • 网站开发执行什么标准号wordpress主题 表白
  • 杭州网站推广与优化凡科网是免费的吗
  • 公司网站的重要性门户网站推广介绍方案
  • 做金融网站看那些素材江门网红打卡景点蓬江区
  • 饮食网站模板建网站中企动力优
  • 郑州 制造 网站东平企业建站公司
  • 天津设计师网站大全展示型网站搭建
  • 南宁网站建设 传导网站开发平台开发公司
  • 网站建设好处上海建设工程网站