中国MOOC_面向对象程序设计——Java语言_第4章 继承与多态_第4周编程题

第4周编程题

返回
 

提交作业(剩余11天)

完成并提交作业
 
 

作业批改

互评作业
 
自评作业
 
 

成绩公布

查看成绩
 

本周的编程题以互评的方式批改。注意因为是互评的,所以作业的完成时间很短,只有3周。请务必在三周内完成。

依照学术诚信条款,我保证此回答为本人原创,所有回答中引用的外部材料已经做了出处标记。

 

1
(5分)

本周我们介绍了以继承方式实现的媒体资料库,在课程代码实现的基础上,请实现一个表达MP3的媒体类型,能和CD、DVD一样存放进这个Database。请提交这个MP3类的代码。如果你认为为了能存放MP3,需要修改Item和Database,也请一并提交Item和Database的代码。

答案内容超过5000字建议使用附件形式上传
import java.util.ArrayList;
 
class Item {
    private String title;
    private int playTime;
    private boolean gotIt = false;
    private String comment;
 
    public Item(String title, int playTime, boolean gotIt, String comment) {
        super();
        this.title = title;
        this.playTime = playTime;
        this.gotIt = gotIt;
        this.comment = comment;
    }
 
    public void print() {
        System.out.print(title + ":" + playTime + ":" + gotIt + ":" + comment);
    }
}
 
class MP3 extends Item {
    private String artist;
    private int numofTracks;
 
    public MP3(String title, int playTime, boolean gotIt, String comment, String artist, int numofTracks) {
        super(title, playTime, gotIt, comment);
        this.artist = artist;
        this.numofTracks = numofTracks;
    }
 
    public void print() {
        System.out.print("MP3:");
        super.print();
        System.out.println(":" + artist + ":" + numofTracks);
    }
}
 
public class Database {
    private ArrayList<Item> listItem = new ArrayList<Item>();
 
    public void add(Item item) {
        listItem.add(item);
    }
 
    public void list() {
        for (Item item : listItem) {
            item.print();
        }
    }
 
    public static void main(String[] args) {
        Database db = new Database();
        db.add(new MP3("Jay (album)", 42, true, "2000", "Jay Chou", 10));
        db.add(new MP3("Fantasy (Jay Chou album)", 42, true, "2001", "Jay Chou", 10));
        db.add(new MP3("The Eight Dimensions", 42, true, "2002", "Jay Chou", 10));
        db.list();
    }
}

 

posted @ 2017-11-20 14:35  sandywei  阅读(790)  评论(0编辑  收藏  举报