1. 程式人生 > >java_第4章 繼承與多型_第4周程式設計題_將MP3媒體型別存放進Database

java_第4章 繼承與多型_第4周程式設計題_將MP3媒體型別存放進Database

本週我們介紹了以繼承方式實現的媒體資料庫,在課程程式碼實現的基礎上,請實現一個表達MP3的媒體型別,能和CD、DVD一樣存放進這個Database。請提交這個MP3類的程式碼。如果你認為為了能存放MP3,需要修改Item和Database,也請一併提交Item和Database的程式碼。

答案內容超過5000字建議使用附件形式上傳
 1 import java.util.ArrayList;
 2 
 3 public class Database {
 4     private ArrayList<Item> listItem = new
ArrayList<Item>();//容器,用來裝Item類的物件 5 6 //add方法,用來往媒體庫裡面新增東西 7 public void add(Item item) { 8 listItem.add(item); 9 } 10 11 //list方法,用來展示媒體庫裡面的東西 12 public void list() { 13 for(Item item:listItem) { 14 item.print(); 15 } 16 } 17 18
public static void main(String[] args) { 19 Database db = new Database(); 20 //往db裡面新增MP3 21 db.add(new MP3("Faded",3,true,"...","Alan Walker",10)); 22 db.add(new MP3("That Girl",4,true,"...","Olly Murs",10)); 23 db.list();//列出db中的東西 24 } 25 26 } 27 28 public
class Item { 29 // 定義Item型別的屬性 30 private String title; 31 private int playingTime; 32 private boolean gotIt = false; 33 private String comment; 34 35 // 建構函式,用來初始化Item型別的物件 36 // 可使用eclipse選單欄中的Source\Generate Constructor Using Fields快速建立 37 public Item(String title, int playingTime, boolean gotIt, String comment) { 38 super(); 39 this.title = title; 40 this.playingTime = playingTime; 41 this.gotIt = gotIt; 42 this.comment = comment; 43 } 44 45 // print方法 46 public void print() { 47 System.out.print(title+":"+playingTime+":"+gotIt+":"+comment); 48 } 49 } 50 51 public class MP3 extends Item { 52 // 定義MP3類區別於父類Item的屬性 53 private String artist; 54 private int numofTracks; 55 56 // 建構函式 57 // 可使用eclipse選單中Source/Generate Constructors from Superclass建立後修改 58 public MP3(String title, int playingTime, boolean gotIt, String comment,String artist,int numofTracks) { 59 super(title, playingTime, gotIt, comment);//括號內屬性從父類獲得初始化 60 this.artist=artist; 61 this.numofTracks=numofTracks; 62 } 63 64 // print方法 65 public void print() { 66 System.out.print("MP3:"); 67 super.print(); 68 System.out.println(":"+artist+":"+numofTracks); 69 } 70 }