本周我们介绍了以继承方式实现的媒体资料库,在课程代码实现的基础上,请实现一个表达MP3的媒体类型,能和CD、DVD一样存放进这个Database。请提交这个MP3类的代码。如果你认为为了能存放MP3,需要修改Item和Database,也请一并提交Item和Database的代码。
Item:
public class Item {
private String title;
private int playingtime;
private boolean gotit;
private String comment;
public Item(String title, int playingtime, boolean gotit, String comment) {
super();
this.title = title;
this.playingtime = playingtime;
this.gotit = false;
this.comment = comment;
}
public void print()
{
System.out.println(title);
}
}
CD:
public class CD extends Item{
private int tracks;
private String artist;
public CD(String title, int playingtime, boolean gotit, String comment, int tracks, String artist) {
super(title, playingtime, gotit, comment);
this.tracks = tracks;
this.artist = artist;
}
public void print()
{
System.out.print(artist + ":");
super.print();
}
}
DVD:
public class DVD extends Item{
private String director;
public DVD(String title, int playingtime, boolean gotit, String comment, String director) {
super(title, playingtime, gotit, comment);
this.director = director;
}
public void print()
{
System.out.print(director + ":");
super.print();
}
}
MP3:
public class MP3 extends Item{
private String artist;
public MP3(String title, int playingtime, boolean gotit, String comment, String artist) {
super(title, playingtime, gotit, comment);
this.artist = artist;
}
public void print()
{
System.out.print(artist + ":");
super.print();
}
}
Database:
import java.util.ArrayList;
public class Database {
private ArrayList<Item> item = new ArrayList<Item>();
public void AddItem(Item i)
{
item.add(i);
}
public void ListItem()
{
for(Item i : item)
{
i.print();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Database db = new Database();
db.AddItem(new CD("yehuimei",100,false,"music",11,"JayChou"));
db.AddItem(new DVD("Secret",100,false,"movie","JayChou"));
db.AddItem(new MP3("qingtian",100,false,"music","JayChou"));
db.ListItem();
}
}