類定義

目錄git

要求

  • 設計並實現一個Book類,定義成Book.java,Book 包含書名、做者、出版社和出版日期,這些數據都要定義getter和setter。定義至少三個構造方法,接收並初始化這些數據。覆蓋(Override)toString方法,返回良好的含有多行的書的描述信息。覆蓋equals方法,書名,做者,出版社和出版日期徹底一致才說明兩本書是同樣的。
  • 建立一個測試類Bookshelf, 其中的main方法建立並更新幾個Book對象。Book至少包含三本本學期教材內容。
  • 提交博客,要有設計思路,測試代碼和運行結果截圖,加上學號水印,要有碼雲代碼連接。
  • 獨立完成,抄襲倒扣分。

設計思路

優先完成要求的基礎定義

  1. 定義 Book.java 和其中的四個成員變量:bookName、bookWriter、bookPress、bookDate;
    以四個成員變量爲基礎,定義對應的getter和setter方法;
String bookName, bookWriter, bookPress, bookDate;

public String getBookName() { return bookName; }
public void setBookName(String bookName) { this.bookName = bookName; }
......//省略
  1. 定義三種構造方法,最早構造默認方法;
Book() { bookName = null; ... }     //設爲空
Book(String bookName, String bookWriter, String bookPress, String bookDate) { ... }       //使用分別賦值
Book(String bookInfor[]) { ... }       //使用數組賦值
  1. 覆蓋 toString 方法,返回良好的含有多行的書的描述信息;
    覆蓋 equals 方法,斷定書名、做者、出版社和出版日期是否徹底一致;
public String toString() { /*return 書名 做者 出版社 出版日期;*/ }

public boolean equals(Object o){
//再判斷是否是Book類,提升代碼的健壯性;向下轉型,父類沒法調用子類的成員和方法
//最後判斷類的全部屬性是否相等;其中String類型和Object類型能夠用相應的equals()來判斷         
}
  1. 定義 Bookshelf.java 及其 main 方法,載入三本本學期教材內容。
Book bookOld[] = new Book[3];
bookOld[...] = new Book("...",......);

對基礎定義進行完善、運用和拓展

  1. 將基礎定義的程序進行完善;
  2. 實現添加書籍;實現書籍列表輸出;實現驗證書籍信息完整性;
Book book[] = new Book[...];
for (...) { book[...]=new Book(); }
//使用覆蓋的 toString 方法輸出列表
for (...) { System.out.println(book...[...].toString()); }
//使用覆蓋的 equals 方法驗證完整性
Scanner ((Book)wannaBook).bookName, ......;    //輸入要查驗的書籍信息
if (book...[...].toString().equals(wannaBook.toString())) { ... }    //比對已存信息和查驗信息,返回指望值
  1. 將上述功能與 menu 菜單合併,添加退出選項,開啓循環菜單。
Book book[] = new Book[...];

for (...) {    //開啓循環
    System.out.println("Input the number of functions to complete:\n"
        +"1. Make a list of books.\n"
        +"2. Determine the accuracy of information in a book.\n"
        +"0. Exit.");
    if (...) {...} else if ( 0 ) { System.exit(0); } else {...}    //實現合併,並添加退出選項
}

測試代碼截圖

image.png

運行結果截圖

解釋運行 [圖 1 ]

添加書籍:
書名:1 做者:1 出版社:1 出版日期:1
輸出列表數組

image.png

解釋運行 [圖 2 ]

不添加書籍,驗證完整性
image.pngide

碼雲連接

https://gitee.com/Yogile/YogileOne.git
文件夾 Book 在倉庫 YogileOne 中,於文件夾 str/ 下。
碼雲直達連接測試

源代碼

源代碼博客連接this

點此下載源文件壓縮包設計

相關文章
相關標籤/搜索