zoukankan      html  css  js  c++  java
  • 中国MOOC_面向对象程序设计——Java语言_第4章 继承与多态_第4周编程题_将MP3媒体类型存放进Database

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

    答案内容超过5000字建议使用附件形式上传
    //提示:这里的Item类和MP3类不能在Database类里面创建
    //需要在本包裹内New一个新的Class,分别创建Item类和MP3类
    //还有别忘了要在Database类前加上:import java.util.ArrayList
    
    import java.util.ArrayList;
    public class Database {
        private ArrayList<Item> listItem = new ArrayList<Item>();//容器,用来装Item类的对象
     
        //add方法,用来往媒体库里面添加东西
        public void add(Item item) {
            listItem.add(item);
        }
     
        //list方法,用来展示媒体库里面的东西   
        public void list() {
            for(Item item:listItem) {
                item.print();
            }
        }
         
        public static void main(String[] args) {
            Database db = new Database();
            //往db里面添加MP3
            db.add(new MP3("Faded",3,true,"...","Alan Walker",10));
            db.add(new MP3("That Girl",4,true,"...","Olly Murs",10));
            db.list();//列出db中的东西
        }
    }
    
    
    public class Item {
    //  定义Item类型的属性
      private String title;
      private int playingTime;
      private boolean gotIt = false;
      private String comment;
       
    //  构造函数,用来初始化Item类型的对象
    //  可使用eclipse菜单栏中的SourceGenerate Constructor Using Fields快速创建
      public Item(String title, int playingTime, boolean gotIt, String comment) {
          super();
          this.title = title;
          this.playingTime = playingTime;
          this.gotIt = gotIt;
          this.comment = comment;
      }
    
    //  print方法
      public void print() {
          System.out.print(title+":"+playingTime+":"+gotIt+":"+comment);
      }
    }
    
    
    public class MP3 extends Item {
    //  定义MP3类区别于父类Item的属性
      private String artist;
      private int numofTracks;
    
    //  构造函数
    //  可使用eclipse菜单中Source/Generate Constructors from Superclass创建后修改
      public MP3(String title, int playingTime, boolean gotIt, String comment,String artist,int numofTracks) {
          super(title, playingTime, gotIt, comment);//括号内属性从父类获得初始化
          this.artist=artist;
          this.numofTracks=numofTracks;
      }
    
    //  print方法
      public void print() {
          System.out.print("MP3:");
          super.print();//调用父类的print方法输出前半部分
          System.out.println(":"+artist+":"+numofTracks);
    //    调用本地println方法输出后半部分
    //    这里用println方法,可以用换行的方式分开前后两条MP3,输出更美观
      }
    }
    

      

     
     
  • 相关阅读:
    Day 31 Event事件/进程池和线程池/高性能爬取梨视频/协程
    scp命令
    [Influxdb]记录
    REMOTE HOST IDENTIFICATION HAS CHANGED!
    【转载】Java异常控制机制和异常处理原则
    html转成PDF,替换内容
    SOAP请求-示例
    InputStream转成String
    [集合操作]List对象数组获取元素值非空对象及根据对象元素值排序取最大&取对象数组的对象元素集合&条件去重&条件分组
    maven deploy jar包到远程仓库400
  • 原文地址:https://www.cnblogs.com/dreamshows/p/10117198.html
Copyright © 2011-2022 走看看