У меня есть класс DVD, который имеет название переменных экземпляра, artist & жанра.Разрешение атрибута класса, который будет необязательным (Basic OOP Java)
Я хочу, чтобы создать объект DVD со всеми тремя ИЛИ только с названиями и артистическими значениями.
код So Far:
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'. –
Ваш атрибут 'genre' уже является необязательным, о чем свидетельствует тот факт, что вы можете оставить его« null ».Я думаю, что вы спрашиваете, как распечатать информацию о песне более читаемым образом. Если это так, подумайте над тем, чтобы переписать свой вопрос (особенно название). – abl
В чем необходимость использования методов 'setXxX()'? Почему бы не использовать два разных конструктора, один из которых будет принимать два параметра 'DVD (String title, String artist) {this (title, artist," ");}' и другой конструктор, который будет принимать три параметра 'DVD (String title , String artist, String genre) {this.artist = artist; this.title = название; this.genre = genre;} 'вызывать соответствующее, как и входное, во время выполнения. –