艺术圈 写道
package cn.watchermodel;
/**
* 艺术圈 粉丝模仿明星说话
* @author 姚伟楠
*
*/
public class ArtCycle {
/**
* @param args
*/
public static void main(String[] args) {
Star star=new Star("谢霆锋");
for(int i=0;i<10;i++){
star.addWatcher(new Fan("粉丝"+i));
}
star.say("大家好,我是谢霆锋,我喜欢蔡依林");
}
}
粉丝类 写道
package cn.watchermodel;
/**
* 粉丝类
* @author 姚伟楠
*
*/
public class Fan extends Person implements Watcher {
public Fan(String name) {
super(name);
}
@Override
public void watcherPerform(String msg) {
say(msg);
}
@Override
protected void say(String msg) {
System.out.println(this.getName()+"說:"+msg);
}
}
人类 写道
package cn.watchermodel;
/**
* 人类 抽象
* @author 姚伟楠
*
*/
public abstract class Person {
private String name;
public Person(String name) {
this.name = name;
}
protected abstract void say(String msg);
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
明星类 写道
package cn.watchermodel;
import java.util.ArrayList;
import java.util.List;
/**
* 明星类
* @author 姚伟楠
*
*/
public class Star extends Person implements Watched {
public Star(String name) {
super(name);
}
private List<Watcher> fans=new ArrayList<Watcher>();
private String favorate="";
@Override
public void addWatcher(Watcher watcher) {
if(null!=watcher){
fans.add(watcher);
}
}
/**
* 说出自己的爱好
*/
public void say(String msg){
favorate=msg;
notifyAllWatcher();
}
@Override
public void romoveWatcher(Watcher watcher) {
fans.remove(watcher);
}
@Override
public void notifyAllWatcher() {
for(Watcher watcher:fans){
watcher.watcherPerform(favorate);
}
}
}
被监视对象应有的接口 写道
package cn.watchermodel;
/**
* 被监视对象应有的接口
* @author 姚伟楠
*
*/
public interface Watched {
/**
* 添加监视者
*
* @param watcher
*/
public void addWatcher(Watcher watcher);
/**
* 移除监视者
* @param watcher
*/
public void romoveWatcher(Watcher watcher);
/**
* 通知监视者信息
*/
public void notifyAllWatcher();
}
监视着外接接口 写道
package cn.watchermodel;
/**
* 监视着外接接口
* @author 姚伟楠
*
*/
public interface Watcher {
/**
* 监听事件
* @param msg
*/
public void watcherPerform(String msg);
}
分享到:
相关推荐
粉丝写给明星的话.doc
基于asp.net的三层模式球星粉丝互动平台毕业源码.zip基于asp.net的三层模式球星粉丝互动平台毕业源码.zip基于asp.net的三层模式球星粉丝互动平台毕业源码.zip基于asp.net的三层模式球星粉丝互动平台毕业源码.zip ...
36Kr - 粉丝经济下的用户行为观察报告(终版).pdf36Kr - 粉丝经济下的用户行为观察报告(终版).pdf36Kr - 粉丝经济下的用户行为观察报告(终版).pdf36Kr - 粉丝经济下的用户行为观察报告(终版).pdf
粉丝明星追星CSS网页模板 整站 网页 明星 网页 美女 div CSS HTML 模板下载
asp.net基于三层模式球星粉丝互动平台 毕业设计-源码+数据库+说明文档(高分毕设).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 asp.net基于三层...
在这里,您可以看到不同的航班(如101航班、202航班、707航班和808航班)),观察者模式(在天猫华为手机旗舰店,用户可以购买各种不同型号的华为手机,三位华为忠实粉丝,想购买华为MateX系列最新款手机,但是因为...
众生狂欢:明星与粉丝的微博互动关系研究.docx众生狂欢:明星与粉丝的微博互动关系研究.docx众生狂欢:明星与粉丝的微博互动关系研究.docx众生狂欢:明星与粉丝的微博互动关系研究.docx众生狂欢:明星与粉丝的微博...
使用组合命令模式实现多功能开关,让用户进行设置,要么控制教室的所有灯的开和关,要么控制教室所有风扇的开和关,要么控制教室所有空调的开和关,要么控制教室里教学多媒体设备的开和关。 2、中介者模式 2.1 作业...
粉丝应援电商平台运营模式的探究.pdf
下一个模块即是实现球星发文发帖,球迷能够评论并且球迷之间能够互相评论、回复以及对评论的点赞和点踩,此模块实现了本网站题目的主要内容:即实现球星-粉丝之间的互动交流;再下一个模块是粉丝对于球星相关的话题...
《明星大侦探》豆瓣小组爬虫分析:活跃粉丝社群从何而来
下一个模块即是实现球星发文发帖,球迷能够评论并且球迷之间能够互相评论、回复以及对评论的点赞和点踩,此模块实现了本网站题目的主要内容:即实现球星-粉丝之间的互动交流;再下一个模块是粉丝对于球星相关的话题...
2019年9月中国明星微博粉丝与网红消费人群性别分布情况.xlsx
粉丝经济下的用户行为观察报告-36Kr-201901.pdf
明星粉丝交互直播互动平台 大型明星粉丝经济生态项目创办商业计划书.pdf
微信小程序“明星应援系统设计与实现Ssm.zip”是一个基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,专为粉丝及其偶像明星设计的一套全面的应援管理和互动平台。该项目结合了微信小程序的用户体验...
毕业设计,基于三层模式Asp.Net+SqlServer开发的球星粉丝互动平台,内含Asp.Net完整源代码,数据库文件 asp.net基于三层模式球星粉丝互动平台毕业源码案例设计 程序开发软件: Visual Studio 2010以上 数据库:sql...
用Java实现的新浪微博抓取关注列表和粉丝列表课程设计报告
基于微信小程序的明星应援系统设计与实现(全套).zip 是一个专门为明星粉丝们设计的应援系统,旨在为粉丝们提供一个便捷、互动的平台,让他们可以积极参与明星活动、互动和支持偶像。这个系统包括了丰富多样的功能...