目录
一、package book
1.1. Book
package book;
public class Book {
private String title; // 书籍名称
private String author; // 作者
private int price; // 价格
private String type; // 类型
private boolean BeBorrowed; // 是否被借出
public Book(String title, String author, int price, String type, boolean beBorrowed) {
this.title = title;
this.author = author;
this.price = price;
this.type = type;
BeBorrowed = beBorrowed;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
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 String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public boolean isBeBorrowed() {
return BeBorrowed;
}
public void setBeBorrowed(boolean beBorrowed) {
BeBorrowed = beBorrowed;
}
@Override
public String toString() {
return "Book{" +
"title='" + title + '\'' +
", author='" + author + '\'' +
", price=" + price +
", type='" + type + '\'' +
", BeBorrowed=" + BeBorrowed +
'}';
}
}
我们定义的成员变量如上代码所示,我们只需要创建成员变量,剩下的都可以用编译器帮我们生成。
1.2. BookList
package book;
public class BooList {
private Book[] books; // 存放书籍
private static final int DEFAULT_SIZE = 10;
private int usedSize; // 有效书籍的个数
public BooList(Book[] books) {
this.books = books;
}
public int getUsedSize() {
return usedSize;
}
public void setUsedSize(int usedSize) {
this.usedSize = usedSize;
}
}
我们的书架要存储很多的书,那么我们就用一个数组来存储。我们利用DEFAULT_SIZE
来确定数组的长度。如果说,这个书架最多能放下10本书,而我们手上需要有三本书需要存放,那我们就定义一个usedSize
变量来记录有效书籍的数量。
二、package user
2.1. User
package user;
public abstract class User {
public String name;
public User(String name) {
this.name = name;
}
public abstract void menu();
}
用户分为普通用户与管理员,后两者需要继承用户,我们就可以对用户这个类进行抽象化。我们在User
类里面同时在写一个menu
方法(且这个方法无具体表现)。
2.2. NormalUser与AdminiUser
package user;
public class NormalUser extends User {
public NormalUser(String name) {
super(name);
}
@Override
public void menu() {
System.out.println("普通用户菜单");
}
}
package user;
public class AdminiUser extends User {
public AdminiUser(String name) {
super(name);
}
@Override
public void menu() {
System.out.println("管理员菜单");
}
}
三、Main
通过Main
这个类,我们可以来进行一些操作,比如输入姓名,选择身份,查找图书等。我们在main
方法之前,先写一个登录方法,因为我们的返回值是User
的子类,所以把返回值类型void
改成User
。我们在这里可以先运行一下。
import user.AdminiUser;
import user.NormalUser;
import user.User;
import java.util.Scanner;
public class Main {
public static User Login() {
Scanner sca = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sca.nextLine();
System.out.println("请输入你的身份:1.管理员 2.普通用户");
int choice = sca.nextInt();
if (choice == 1) {
return new AdminiUser(name);
} else {
return new NormalUser(name);
}
}
public static void main(String[] args) {
User user = Login();
user.menu();
}
}
四、NormalUser与AdminiUser的菜单
相关文章
暂无评论...