学习了java的有关面向对象编程思想的语法后,为了将类和对象、封装、继承、多态、抽象类、接口融会贯通,我实现了图书管理系统,供小白参考学习和大佬指正。
本文主要讲解的是该系统的逻辑框架,具体业务逻辑的实现和源代码见第二篇文章:
http://t.csdn.cn/q6aT6http://t.csdn.cn/q6aT6
我将程序分成三类对象,第一类对象是图书Book和书架BookList,主要应用的是类的实例化、构造方法、成员访问权限的知识。单本图书信息设置成一个类Book,使用数组作为书架BookList,数组的每个元素是实例化的图书对象,同时我们设置操作数组的方法供功能的实现。
第二类对象是各类操作,由于各种操作都包含一个公共的对书架操作的方法,我们可以认为这是一个规范,于是我将这个共同的方法写成接口,其他的各种操作类根据不同需求具体实现这个接口。
第三类对象是用户,主要运用的是抽象类和类的继承,将用户设置成抽象类User,使用普通用户NormalUser和管理员AdminUser分别继承抽象类,根据各自需求设计构造函数和重写菜单方法。
在主函数中主要是登录系统的功能,同时运用了多态的特性,当用户登录系统,我们希望根据用户的不同身份身份,发生向上转型,父类引用子类的方法,实现不同身份的不同菜单——多态。