Java工场模式+反射写出通用代码

举报
北山啦 发表于 2021/05/26 00:20:29 2021/05/26
【摘要】 现在假设有一个晚会,规定了节目样式和节目顺序。下面写一段简单的代码: @Testpublic void demo1(){ System.out.println("晚会现在开始"); //周杰伦唱歌 new Jielun().sing(); //刘谦表演魔术 new Liuqian().magic(); //迈克尔杰克逊跳舞 new Michael().dance()...

现在假设有一个晚会,规定了节目样式和节目顺序。下面写一段简单的代码:


  
  1. @Test
  2. public void demo1(){
  3. System.out.println("晚会现在开始");
  4. //周杰伦唱歌
  5. new Jielun().sing();
  6. //刘谦表演魔术
  7. new Liuqian().magic();
  8. //迈克尔杰克逊跳舞
  9. new Michael().dance();
  10. System.out.println("晚会结束");
  11. }

这是用Java代码模拟的一场晚会,顺序就是唱歌、表演魔术、跳舞。

突然,周杰伦不能来了,这个时候就要改一个歌手。怎么改呢,就直接改就好了。


  
  1. //new Jielun().sing();
  2. //周杰伦不能来了,由陈奕迅来给大家演唱
  3. new Eason().sing();

换来换去都还是歌手。这个时候我们就可以抽象出一个接口Singer


  
  1. /**
  2. * 歌手的接口,每个歌手都应实现这个接口
  3. */
  4. interface Singer(){
  5. void sing();
  6. }

其它的也可以抽出接口


  
  1. /**
  2. * 魔术师的接口
  3. */
  4. interface Magician{
  5. void magic();
  6. }
  7. /**
  8. * 跳舞的人的接口(不知道叫啥)
  9. */
  10. interface Dancer{
  11. void dance();
  12. }

文章来源: zacksock.blog.csdn.net,作者:ZackSock,版权归原作者所有,如需转载,请联系作者。

原文链接:zacksock.blog.csdn.net/article/details/97367546

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。