類定義20175320

2022-08-05 16:51:21 字數 1443 閱讀 7772

新建一個類book,在類中定義string型變數name、author、press、date分別用來表示“書名”、“作者”、“出版社”以及“出版日期”

三個構造方法分別可以實現不同的初始化方式。

book()

book(string a,string b,string c,string d)

book(string e)

我將getter分為四個get方法,分別用於返回代表物件的書名、作者、出版社以及出版日期的資訊,將setter設定為setmessage這一方法,將引數中的資料寫入物件的字串變數中。**如下:

public void setmessage(string a,string b,string c,string d)
在進行這部分的設計之前,我上網搜尋了重寫tostring以及equals方法的作用,瞭解到了tostring()是一種自我描述方法,equals方法可用於比較兩個變數的地址以及值是否相等,同時我注意到重寫equals方法的同時需要重寫hashcode方法。**如下:

public boolean equals(object one) 

public string tostring()

public int hashcode()

我在bookshelf類中設計了兩種初始化book類的方式,並需要手動輸入書本的各項資訊,使用第一種構造方法時,book類的物件在初始化後再進行資訊錄入,而第二種構造方法在初始化的同時將輸入的資料給物件的變數。bookshelf類種還使用物件呼叫了tostring方法返回書的描述資訊。關鍵**如下:

system.out.println("是否在構造時初始化,輸入1為[yes]:");

answer=scanner.nextint();

if(answer==1)

case 2:

case 3: }}

}else

case 2:

case 3: }}

system.out.println(numa.tostring());//輸出書的描述資訊

system.out.println(numb.tostring());

system.out.println(numc.tostring());

由於使用整合開發環境進行程式設計,一些小問題在編寫**時就已被開發工具標示出來,測試時沒有遇到問題,而較為複雜的問題我寫在了第五部分。

連結