本周我们介绍了以继承方式实现的媒体资料库,在课程代码实现的基础上,请实现一个表达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 }
原文地址:https://www.cnblogs.com/songzi-yang/p/10117198.html
时间: 2024-10-19 14:55:34