したがって、books、booksOut、および Allbooks の 3 つのクラスがあります。booksout と Allbooks は拡張機能であり、books のサブクラスです。ただし、問題/質問があります。
toString メソッドで allBooks からエラーが発生します。bookID など (つまり、 books 内のすべての変数) が private に設定されているとします。public 変数は常に避けるべきだと教えられたので、躊躇しています。別の方法はありますか?それとも、これを処理する最も簡単で最良の方法は公開することですか?
コードは次のとおりです。
書籍
public class books {
private int bookID;
private String title;
private String author;
public books() {
}
public books(int bookID, String title, String author) {
this.bookID = bookID;
this.title = title;
this.author = author;
}
public int getBookID() {
return bookID;
}
public void setBookID(int bookID) {
this.bookID = bookID;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String addSpaces(String s, int w) {
String spc = "";
for (int i = 1; i <= (w - s.length()); i++) {
spc = spc + " ";
}
return spc;
}
public class AllBooks extends books{
private String genre;
private String status;
private String Location;
private String condition;
すべての本
public AllBooks(int bookID, String title, String author, String genre, String status, String Location, String condition ) {
super(bookID, title, author);
this.genre = genre;
this.status = status;
this.Location = Location;
this.condition = condition;
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getLocation() {
return Location;
}
public void setLocation(String Location) {
this.Location = Location;
}
public String getCondition() {
return condition;
}
public void setCondition(String condition) {
this.condition = condition;
}
@Override
public String toString() {
String stg = "";
stg = stg + bookID + '\t' + title + addSpaces(title, 30) + author + addSpaces(author, 30) + genre + addSpaces(genre, 15) + status + addSpaces(status, 5) + Location + addSpaces(Location, 20) + condition;
return stg;
}
public String toString(int i){
String stg = "";
stg += bookID + "#" + title + "#" + author + "#" + genre + "#" + status + "#" + Location + "#" + condition + "#";
return stg;
}
PS
これがばかげた質問であれば申し訳ありません。これは学校のプロジェクトであり、私が今行っている休暇の後に期限があるため、先生に尋ねない理由です. オンラインで答えを確認しましたが、私が出会ったチュートリアルではエチケットについてあまり言及されていませんでした. ご協力いただきありがとうございます。お時間を無駄にして申し訳ありません。