diff --git a/finalproject/Question1/IUser.java b/finalproject/Question1/IUser.java new file mode 100644 index 0000000..ecef0a9 --- /dev/null +++ b/finalproject/Question1/IUser.java @@ -0,0 +1,11 @@ +/* + * Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) + * Date: 2022-04-25 + * Description: This is the interface of IUser. + */ + +public interface IUser { + public String getName(); + public int getBook(); + public void moreBook(int number); +} diff --git a/finalproject/Question1/Start.java b/finalproject/Question1/Start.java new file mode 100644 index 0000000..b153c9d --- /dev/null +++ b/finalproject/Question1/Start.java @@ -0,0 +1,5 @@ +public class Start { + public static void main(String[] args) { + User.testUser(); + } +} diff --git a/finalproject/Question1/User.java b/finalproject/Question1/User.java new file mode 100644 index 0000000..2c9d266 --- /dev/null +++ b/finalproject/Question1/User.java @@ -0,0 +1,78 @@ +/* + * 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); + } +}