前言
本章我们用Java来练习一个图书管理的练习,首先我们都知道Java是一门面向对象的程序语言,所以要完成这个练习前,我们先要
1.找对象——可以先初步把能想到的对象想出来,然后在写代码的过程中慢慢添加
2.创建对象
3.使用对象——对象的方法,功能等
要实现一个功能前是我怎么去实现这个功能呢?,所以要先搭建框架,先创建一个工程BookSystem,而要是想图书管理,我们能想到的对象肯定有 书和用户!
1.让我们先在BookSystem下来创建两个包
2.书肯定有书架,书名,作者等,在Book包下创建两个类:
3. 接下来让我们在Book类下敲出我们一本书的属性(成员变量)
public class Book {
private String name; //书名
private String author; //作者
private String type; // 类型
private int price; // 价格
private boolean isBrowered; // 是否借出
public Book(String name, String author, String type, int price) { // 构造方法
this.name = name;
this.author = author;
this.type = type;
this.price = price;
}
一本书的属性写好之后,里面的成员变量(属性)需要 get 和 set 以及 ToString,这样一本书就创建好了
4.我们都知道,书架上的需要放书,可以放几本书,这几本书都是什么书?所以我们要在BookList类下定义一个数组来表示:
public class Booklist {
private Book[] books= new Book[10];
private int userSize; //数组中放了基本书
public Booklist(){
books [0] = new Book("解忧杂货店","东野圭吾","长篇小说",34);
books [1] = new Book("活着","余华","同人小说",45);
books [2] = new Book("西游记","吴承恩","奇幻小说",35);
this.userSize = 3;
}
public int getUserSize() {
return userSize;
}
public void setUserSize(int userSize) {
userSize = userSize;
}
public Book getpos(int pos ){
return books[pos];
} //获取一本书的地址
public void setBooks(int pos,Book book){
books[pos] = book;
} //放置一本书
}
Booklist里的成员变量也需要 get 和 set,除此之外,我们还要知道一本书放置的位置,和怎样放置一本书,所以Booklist里最后还写了两个方法 getpos 和 setBooks
到此,我们完成了一本书应有的属性和功能,还可以自行添加其他功能
既然是图书管理,那便自然有有人来用,也就是用户,我们都知道看剧,购物都有vip和普通人的分类,在这里我们把User分成NamolUser 和AdeminUser,也就是用到我们的继承
1.首先在user包下创建一个User类、NamolUser 类和AdeminUser类:
2.在User中敲下我们用户的属性,
public abstract class User {
protected String name;
public User(String name){ //带一个参数的构造方法
this.name = name;
}
3.AdminUser和NamolUser 类继承User,所以也需要重写User(父类)中的构造方法:
public class AdeminUser extends User {
public AdeminUser(String name) {
super(name);
}
public class NamolUser extends User {
public NamolUser(String name) {
super(name);
4.而不同的用户所对应图书管理的使用功能不一样,所以在AdeminUser 和 NamolUser 中各自给出一个方法mun
public class AdeminUser extends User {
public AdeminUser(String name) {
super(name);
}
public int mun(){
System.out.println("he