中國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();
	}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM