我有一個DVD類,它有實例變量標題,藝術家&流派。允許一個類的屬性是可選的(基本的OOP Java)
我希望能夠創建一個DVD對象,其全部三個或只是標題和藝術家的值。
到目前爲止的代碼:
class DVD {
private String title;
private String genre;
private String artist;
public String getTitle() {
return title;
}
public String getGenre() {
return genre;
}
public String getArtist() {
return artist;
}
public void setTitle(String title) {
this.title = title;
}
public void setGenre(String genre) {
this.genre = genre;
}
public void setArtist(String artist) {
this.artist = artist;
}
public void playIt() {
System.out.println("Playing the song");
}
public String toString() {
return "Title: "+ title + "\n"
+ "Genre: "+ genre + "\n"
+ "Artist: "+ artist;
}
public void print() {
System.out.println(this.toString());
}
}
主要方法:
class TestDVDs {
public static void main (String [] args){
DVD film = new DVD();
film.setTitle("Some Film");
film.setGenre("Horror");
film.setArtist("Someone");
film.print();
}
}
如果我只是離開了,我把它顯示爲體裁的體裁行:這是不希望的空
我知道這是一個基本問題,但我真的被困在這裏。
有這個漂亮的操作稱爲「if」。 – 2014-09-20 13:10:08
你的'genre'屬性已經是可選的,這一點可以通過你可以將它留空。我想你所問的是如何以更可讀的方式打印關於歌曲的信息。如果是這種情況,考慮重寫你的問題(特別是標題)。 – abl 2014-09-20 13:10:24
有什麼需要'setXxX()'方法?爲什麼不使用兩種不同的構造函數',一個會帶兩個參數'DVD(String title,String artist){this(title,artist,「」);}'和另一個構造函數, ,String artist,String genre){this.artist = artist; this.title = title; this.genre = genre;}'在運行時根據輸入來調用適當的。 – 2014-09-20 13:31:07