Java工场模式+反射写出通用代码
【摘要】 现在假设有一个晚会,规定了节目样式和节目顺序。下面写一段简单的代码:
@Testpublic void demo1(){ System.out.println("晚会现在开始"); //周杰伦唱歌 new Jielun().sing(); //刘谦表演魔术 new Liuqian().magic(); //迈克尔杰克逊跳舞 new Michael().dance()...
现在假设有一个晚会,规定了节目样式和节目顺序。下面写一段简单的代码:
-
@Test
-
public void demo1(){
-
System.out.println("晚会现在开始");
-
-
//周杰伦唱歌
-
new Jielun().sing();
-
-
//刘谦表演魔术
-
new Liuqian().magic();
-
-
//迈克尔杰克逊跳舞
-
new Michael().dance();
-
-
System.out.println("晚会结束");
-
}
这是用Java代码模拟的一场晚会,顺序就是唱歌、表演魔术、跳舞。
突然,周杰伦不能来了,这个时候就要改一个歌手。怎么改呢,就直接改就好了。
-
//new Jielun().sing();
-
//周杰伦不能来了,由陈奕迅来给大家演唱
-
new Eason().sing();
换来换去都还是歌手。这个时候我们就可以抽象出一个接口Singer
-
/**
-
* 歌手的接口,每个歌手都应实现这个接口
-
*/
-
interface Singer(){
-
void sing();
-
}
其它的也可以抽出接口
-
/**
-
* 魔术师的接口
-
*/
-
interface Magician{
-
void magic();
-
}
-
-
/**
-
* 跳舞的人的接口(不知道叫啥)
-
*/
-
interface Dancer{
-
void dance();
-
}
文章来源: zacksock.blog.csdn.net,作者:ZackSock,版权归原作者所有,如需转载,请联系作者。
原文链接:zacksock.blog.csdn.net/article/details/97367546
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)