CCTV不断在改版,可见,我们国家还是有希望的。且不说其他,最近的“打老虎,拍苍蝇”很严肃,就知道了。
所有的频道,不要划成节目形式:
package patterns.structures.composite; import java.util.ArrayList; import java.util.List; /** * 节目 * * @author one * */ public abstract class Program { public String name; public List<Program> list = new ArrayList<Program>(); public void add(Program program) { } public void remove(Program program) { } public String get(Program program) { return null; } public abstract void display(Program program); }
节目有很多种:音乐、广告、电影
package patterns.structures.composite; public class Music extends Program { //安东阳---《失恋情歌》 Music(String music) { this.name = music; } @Override public void display(Program program) { System.out.println("当前是音乐频道:" + program.name); } }
package patterns.structures.composite; /** * 广告 * * @author one * */ public class Ad extends Program { // 《妈妈洗脚》 Ad(String ad) { this.name = ad; } @Override public void display(Program program) { System.out.println("正在播放公益广告:" + program.name); } }
package patterns.structures.composite; /** * 电影是节目中的一个 * * @author one * */ public class Movie extends Program { Movie(String movie){ this.name=movie; } @Override public void add(Program program) { super.list.add(program); System.out.println("添加了一个节目:" + program.name); } @Override public void remove(Program program) { super.list.remove(program); System.out.println("删除了一个节目:" + program.name); } @Override public String get(Program program) { if (super.list.contains(program)) { return program.name; } return null; } @Override public void display(Program program) { if(!super.list.contains(program)){ System.out.println("当前节目不再列表中!"); return; } System.out.println("当前节目名称为:" + this.get(program)); } }
电影里面也有植入的广告、音乐等元素。所以,这里把电影看成节目的整体实现。
package patterns.structures.composite; public class Test { /** * @param args */ public static void main(String[] args) { Music music = new Music("《失恋情歌》"); Ad ad = new Ad("《妈妈洗脚》"); Program program = new Movie("CCTV"); program.add(ad); program.add(music); Movie movie = new Movie("《变形金刚》"); movie.add(new Ad("<汉堡包>")); movie.add(new Music("<BeatHeart>")); program.add(movie); } }
输出结果:
添加了一个节目:《妈妈洗脚》 添加了一个节目:《失恋情歌》 添加了一个节目:<汉堡包> 添加了一个节目:<BeatHeart> 添加了一个节目:《变形金刚》
用程序的思想解决实际生活问题,还是从实际中提出程序?哈哈,这都是相辅相成的。
作者:zhangqijun001 发表于2013-9-8 0:46:19 原文链接
阅读:148 评论:0 查看评论