浙大翁恺 java进阶 第四周编程题 媒体资料库

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

代码实现:

import java.util.ArrayList;

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 CD("土味", "杀马特", 5, 60, "曹县nb666"));
		db.add(new CD("广场舞disco", "大妈最爱的dj", 500, 6000, "无法入睡"));
		db.add(new DVD("哲学片", "Van", 60*120, "文艺复习"));
		db.add(new Mp3("占哥哥欠", "me",100, 600, "口昌占哥哥欠"));
		db.list();
	}

}
public class Item {
	private String title;
	private int playingTime;
	private boolean gotIt = false;// = false 也可不写
	private String comment;

	

	public Item(String title, int playingTime, boolean gotIt, String comment) {
		super();
		this.title = title;
		this.playingTime = playingTime;
		this.gotIt = false;
		this.comment = comment;
	}



	public void print() {
		// TODO Auto-generated method stub
		System.out.print(title+" ");
		
	}

	
}
public class CD extends Item{
	private String artist;
	private int numOfTracks;
	
	public CD(String title, String artist, int numOfTracks, int playingTime, String comment) {
		super(title,playingTime,false,comment);
		this.artist = artist;
		this.numOfTracks = numOfTracks;
		
	}


	public void print() {
		System.out.print("CD: ");
		super.print();
		System.out.println(artist);
	}

}
public class DVD extends Item{
	private String director;
	
	public DVD(String title, String director, int playingTime, String comment) {
		super(title,playingTime,false,comment);
		this.director = director;
		
	}

	
	public void print() {
		System.out.print("DVD: ");
		super.print();
		System.out.println(director);
	}
}
public class Mp3 extends Item{
	private String artist;
	private int numOfTracks;
	
	
	public Mp3(String title, String artist, int numOfTracks, int playingTime, String comment) {
		super(title, playingTime, false, comment);
		this.artist = artist;
		this.numOfTracks = numOfTracks;
	}
	

	public void print() {
		System.out.print("Mp3: ");
		super.print();
		System.out.println(artist);
	}
	

}

最终输出:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
浙江大学翁恺C语言课件是浙江大学计算机学院教授翁恺编写的一套C语言课程教材。这套课件主要用于C语言的教学与学习,内容包括基本语法、数据类型、运算符、流程控制、函数、指针、数组、字符串等C语言的基础知识。 这套课件具有以下几个特点。首先,它简单易懂,适合初学者学习。翁恺老师针对C语言的特点和学习难点,将知识点进行了简洁明了的讲解,同时结合了大量的示例和练习,帮助学生更好地理解和掌握C语言的编程思路和技巧。 其次,课件内容丰富全面。翁恺老师在编写课件时,充分考虑到C语言的广泛应用领域和学生的学习需求,涵盖了C语言的各个方面,包括基础语法、程序设计、算法、数据结构等内容,帮助学生建立正确的编程思维和解决实际问题的能力。 再次,课件设计灵活多样。为了培养学生的动手实践能力,课件中设计了丰富的编程实例和实践项目,学生可以边学边练,不断巩固和提高自己的编程能力。此外,课件中还包含了一些扩展知识,如文件操作、动态内存管理等,有助于学生进一步拓宽视野。 总之,浙江大学翁恺C语言课件是一套权威且实用的C语言学习资料,通过学习这套课件,学生可以系统地学习和掌握C语言的基础知识,提高编程能力,并为日后的学习和工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值