/* * Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) * Date: 2022-04-25 * Description: This is the User class. */ public abstract class User implements IUser { /** * The user's name. */ private String name; /** * The number of books borrowed by the user. */ private int book; /** * Constructor. * * @param name The user's name. * @param book The number of books borrowed by the user. */ public User(String name, int book) { this.name = name; this.book = book; } /** * Getter of the user's name. * * @return The user's name. */ public String getName() { return name; } /** * Getter of the number of books borrowed by the user. * * @return The number of books borrowed by the user. */ public int getBook() { return book; } /** * Change the number of books borrowed by the user. * * @param book The number of books borrowed by the user. */ protected void setBook(int book) { this.book = book; } /** * Increase the number of books borrowed by the user. * * @param book The number of books borrowed by the user. */ public abstract void moreBook(int number); /** * Test. */ public static void testUser() { User user = new User("Walter", 3) { @Override public void moreBook(int number) { setBook(getBook() + number); } }; System.out.println(user.getName() == "Walter"); System.out.println(user.getBook() == 3); user.moreBook(2); System.out.println(user.getBook() == 5); } }