学习翁凯老师的课程之后
这是一个媒体资料库,里面存放着CD,DVD,GAME,都是Item的子类,而Game又派生出Videogame和Boardgame两个子类,如下是代码。
CD类:
public class CD extends Item {
private int numOftrack;
private String artist;
public CD(String title, String artist, int playingtime, String comment,int numOftrack) {//CD的构造器
super(title, playingtime,false, comment);//传给父类Item去初始化
this.numOftrack=numOftrack;
this.artist=artist;
}
@Override
public String toString() {//构造自己的toString函数;
return "CD [numOftrack=" + numOftrack + ", artist=" + artist + "]";
}
@Override
public boolean equals(Object obj) {//构造cd自己的equals函数,判断两个对象值是否相等;
// TODO Auto-generated method stub
CD cc=(CD)obj;//向下造型,把Object当成CD类型看;
return artist.equals(cc.artist);
}
public void print()
{
System.out.print("CD:");
super.print();
System.out.println(artist);
}
public static void main(String[] args) {
CD cd=new CD("ddd","lujiahui",6,"...",9);
CD cd1=new CD("ddd","lujiahui",6,"...",9);
System.out.println(cd.equals(cd1));//判断cd和cd1的内容是否相等;
cd.print();
System.out.println(cd);
}
}
DVD类:
public class CD extends Item {
private int numOftrack;
private String artist;
public CD(String title, String artist, int playingtime, String comment,int numOftrack) {//CD的构造器
super(title, playingtime,false, comment);//传给父类Item去初始化
this.numOftrack=numOftrack;
this.artist=artist;
}
@Override
public String toString() {//构造自己的toString函数;
return "CD [numOftrack=" + numOftrack + ", artist=" + artist + "]";
}
@Override
public boolean equals(Object obj) {//构造cd自己的equals函数,判断两个对象值是否相等;
// TODO Auto-generated method stub
CD cc=(CD)obj;//向下造型,把Object当成CD类型看;
return artist.equals(cc.artist);
}
public void print()
{
System.out.print("CD:");
super.print();
System.out.println(artist);
}
public static void main(String[] args) {
CD cd=new CD("ddd","lujiahui",6,"...",9);
CD cd1=new CD("ddd","lujiahui",6,"...",9);
System.out.println(cd.equals(cd1));//判断cd和cd1的内容是否相等;
cd.print();
System.out.println(cd);
}
}
Item类:
public class CD extends Item {
private int numOftrack;
private String artist;
public CD(String title, String artist, int playingtime, String comment,int numOftrack) {//CD的构造器
super(title, playingtime,false, comment);//传给父类Item去初始化
this.numOftrack=numOftrack;
this.artist=artist;
}
@Override
public String toString() {//构造自己的toString函数;
return "CD [numOftrack=" + numOftrack + ", artist=" + artist + "]";
}
@Override
public boolean equals(Object obj) {//构造cd自己的equals函数,判断两个对象值是否相等;
// TODO Auto-generated method stub
CD cc=(CD)obj;//向下造型,把Object当成CD类型看;
return artist.equals(cc.artist);
}
public void print()
{
System.out.print("CD:");
super.print();
System.out.println(artist);
}
public static void main(String[] args) {
CD cd=new CD("ddd","lujiahui",6,"...",9);
CD cd1=new CD("ddd","lujiahui",6,"...",9);
System.out.println(cd.equals(cd1));//判断cd和cd1的内容是否相等;
cd.print();
System.out.println(cd);
}
}
Game类:
public class CD extends Item {
private int numOftrack;
private String artist;
public CD(String title, String artist, int playingtime, String comment,int numOftrack) {//CD的构造器
super(title, playingtime,false, comment);//传给父类Item去初始化
this.numOftrack=numOftrack;
this.artist=artist;
}
@Override
public String toString() {//构造自己的toString函数;
return "CD [numOftrack=" + numOftrack + ", artist=" + artist + "]";
}
@Override
public boolean equals(Object obj) {//构造cd自己的equals函数,判断两个对象值是否相等;
// TODO Auto-generated method stub
CD cc=(CD)obj;//向下造型,把Object当成CD类型看;
return artist.equals(cc.artist);
}
public void print()
{
System.out.print("CD:");
super.print();
System.out.println(artist);
}
public static void main(String[] args) {
CD cd=new CD("ddd","lujiahui",6,"...",9);
CD cd1=new CD("ddd","lujiahui",6,"...",9);
System.out.println(cd.equals(cd1));//判断cd和cd1的内容是否相等;
cd.print();
System.out.println(cd);
}
}
Videogame类:
public class Videogame extends Game {
private String platform;
public Videogame(String title, int playingtime, String comment, int Player,String platform) {
super(title, playingtime, false, comment, Player);
this.platform=platform;
// TODO Auto-generated constructor stub
}
@Override
public void print() {
System.out.print("Videogame:");
System.out.println(platform);
// TODO Auto-generated method stub
super.print();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Videogame vd=new Videogame("dddf",6,",,,",2,"lol");
vd.print();
}
}
Boardgame 类:
public class Boardgame extends Game {
private int boardtime;
public Boardgame(String title, int playingtime, String comment, int Player,int boardtime) {
super(title, playingtime, false, comment, Player);
this.boardtime=boardtime;
// TODO Auto-generated constructor stub
}
@Override
public void print() {
System.out.println("Boardgame:");
System.out.println(boardtime);
// TODO Auto-generated method stub
super.print();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Boardgame bd=new Boardgame("lll",9,";;;",6,3);
bd.print();
}
}
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();
System.out.println();
}
}
public static void main(String[] args) {//具有可扩展性;
Database db=new Database ();
db.add(new CD("ddd","luiahui",6,"...",9));
db.add(new CD("ddj","lujiaui",6,"...",9));
db.add(new DVD("dd","lujahui",6,"..."));
db.add(new Videogame("ddf",6,",,,",2,"lol"));
db.list();
}
}
运行结果:
CD:ddd
6
luiahui
CD:ddj
6
lujiaui
DVD:dd
6
lujahui
Videogame:lol
2
ddf
6