使用eclipse创建一个图书管理系统(1)-----搭建架构

目录

思维导图:

图书管理系统的创建:

第一步:搭建框架-------使用者

第二步:搭建框架------被使用者

第三步:操作方法

第四步:main函数


思维导图:

 前言:

昨天学了一下使用Java语言来写一个图书管理系统,于是今天写一篇博客作为一个小笔记巩固一下自己学到的知识!博主也是刚学,可能写的不是很清楚,很明白……,希望大家谅解!

图书管理系统的创建:

第一步:搭建框架-------使用者

这个过程是最简单的,只要明确的知道自己的图书管理系统要面向的对象是谁!比如我写的,我面向的对象就是使用者:AdminUser与NormalUser,还有被使用的对象:Book与Booklist。

于是我的第一步便是创建了这几个类:

第一个:User(父类)

package User;

public  class User {
 
  protected String name;
  public User(String name) {
	// TODO Auto-generated constructor stub
	  this.name = name;
}
	
}

第二个:AdminUser(子类)

package User;

public class AdminUser extends User{
	public AdminUser(String name) {
		// TODO Auto-generated constructor stub
		super(name);//先帮父类构造
		this.name = name;//再自己构造
	}

}

第三个:NormalUser(子类)

package User;

public class NormalUser extends User{
	public NormalUser(String name) {
		// TODO Auto-generated constructor stub
		super(name);
		this.name = name;
	}

}

说明:

1.这三个类是在同一个包中的

2.至于为什么要多创建一个父类User呢?是因为这样方便向下转型! 毕竟两个子类在调用时不能统一类型,但是加一个父类就很好统一了!

第二步:搭建框架------被使用者

这个项目里面的被使用者是谁?毫无疑问是我们的书以及书架!因为你要借的是书,而书在书架上。你要动书,自然就会动书架!!!所以我们的操作对象也就确定了。

于是我的第二步就创建了这两个对象:

第一个:Book类

package Library;

public class Book {
	private String name;
	private String type;
	private String author;
	private int price;
	private boolean isBorrow;
	public Book( String name,String type,String author, int price) {
		this.name = name;
		this.type = type;
		this.author = author;
		this.price = price;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public boolean isBorrow() {
		return isBorrow;
	}
	public void setBorrow(boolean isBorrow) {
		this.isBorrow = isBorrow;
	}
	
	

}

 第二个类:Booklist

package Library;

public class Booklist {
	Book[]books = new Book[10];//创建一个Book类型的数组来当书架
	public Booklist(Book[]books) {//构造方法初始化数组
		// TODO Auto-generated constructor stub
		books[0] = new Book("三国演义", "古典小说", "罗贯中", 66);
		books[1] = new Book("水浒传", "古典小说","施耐庵", 55);
		books[2] = new Book("三体", "科幻小说", "刘慈欣", 88);		
	}
	

}

说明:

1.这两个类也是在同一个包里的

2.在Book类中使用private修饰符可以更好的封装并且能确保name,author这些变量不能随意改动。只能通过get与set方法来获取与更改。

3.在构造方法中之所以没有初始化isBorrow是因为它默认就是false。一开始我们的书架的书是没有被借出的,所以isBorrow就是false。

第三步:操作方法

操作方法的功能是多种多样的,也就是说他是多态的。于是我们便可以多态的方法来想如何实现多态。

接口:IOperation

package Operation;

import Library.Booklist;

public interface IOperation {
	public void work(Booklist booklist) ;//接口内的方法,操作的对象是Booklist。
	

}

 第二个类:AddOperation

package Operation;

import Library.Booklist;

public class AddOperation implements IOperation{
	public void work(Booklist booklist) {//重写方法,使这个方法变为Addoperation的方法
		System.out.println("添加图书!");
	}

}

第二个类:DelOperation

package Operation;

import Library.Booklist;

public class DelOperation implements IOperation {
	public void work(Booklist booklist) {//重写方法,使work方法变成DelOperation的方法
		System.out.println("删除图书!");
	}

}

第三个类:FindOperation

package Operation;

import Library.Booklist;

public class FindOperation implements IOperation {
   public void work(Booklist booklist){//重写work方法使之成为FindOperation的方法
	   System.out.println("查阅图书!");
   }
}

第四个类:DisplayOperation

package Operation;

import Library.Booklist;

public class DisplayOperation implements IOperation {
public void work(Booklist booklist) {
	System.out.println("显示图书!");
}
}

第五个类:isBorrowOperation

package Operation;

import Library.Booklist;

public class isBorrowOperation implements IOperation {
public void work(Booklist booklist) {
	System.out.println("借阅图书!");
}
}

第六个类:returnOperation

package Operation;

import Library.Booklist;

public class returnOperation implements IOperation{
	public void work(Booklist booklist) {
		System.out.println("归还图书!");
	}

}

说明:

1.这里的接口就是为了实现多态,方便以后的调用。

2.接口里的方法是只能定义不能写的。

3.每个继承接口的方法都要重写接口内的方法从而形成自己的方法

4.这些类和接口都在同一个包里面

第四步:main函数

就像我以前写C语言的小游戏有test.c源文件来实现游戏逻辑一样,用Java语言实现一个图书管理系统也要有一个单独的main函数来实现图书管理系统的逻辑!

在与User同样的包里创建main函数:

package User;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

 结语:

现在我们就把图书管理系统的框架搭建完成了!接下来要做的就是实现图书管理系统的逻辑!

猜你喜欢

转载自blog.csdn.net/qq_41934502/article/details/130460867