中国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();
	}
}
原文地址:https://www.cnblogs.com/denggelin/p/6906481.html