//通知者
public class Boy {
//状态
private String state;
//观察者列表
public List<Girl> girls = new ArrayList<Girl>();
//通知
public void notifyGirls(){
for(Girl g : girls ){
g.update();
}
}
//增加
public void attach(Girl g){
girls.add(g);
}
//减少
public void detach(Girl g){
girls.remove(g);
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public static void main(String[] args){
Boy ysen = new Boy();
Girl girlFriend = new Girl();
girlFriend.setName("hyy");
//下面两句 ,两个具体对象相互耦合了,违背了依赖倒转原则,应该让程序都依赖抽象,这里需要解耦
//需要给Boy 和 Girl 各 添加一个基类,让它们依赖抽象
girlFriend.setBoy(ysen);
ysen.attach(girlFriend);
ysen.setState("我回来了哦~~");
ysen.notifyGirls();
}
}
//观察者
public class Girl {
private String name;
private Boy boy;
public void update(){
System.out.println(boy.getState()+name+"起床做饭咯");
}
public Boy getBoy() {
return boy;
}
public void setBoy(Boy boy) {
this.boy = boy;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
分享到:
相关推荐
【《清晨,小保姆起床做饭hehe》阅读答案】 朵拉小保姆.docx
起床战争专用材质包.zip
我的世界仿hypxiel起床战争服务端
微信起床签到、带排名、积分,是微信营销的好工具
程序小,功能强大,能主动叫你起床,还是用你自己最爱的音乐哦!!
通过本软件您可根据自己...您设定的闹铃也不会因关机而无法叫醒起床了。 如您可设定6:30-23:30为正常铃声模式,非此时间段为静音模式。这样您一天的工作、生活、休息、睡眠,手机都能智能而体贴备至的为您全天候服务。
电脑闹钟,可以用来叫起床,计时。提高办事效率,很好用。
使命闹钟是风靡全球的闹钟应用APP Alarmy-Sleep if U Can的中文版。确保用户按时起床为主要使命,提供非起床不可的各种任务和铃声。主要功能:算数解铃、拍照解铃、甩甩解铃等。
这是一个闹钟,通过选择音乐,设定时间来叫你起床
getup(存储用户发送的起床信息) USER:用户openid NAME:用户昵称 LASTTIME:用户最后签到日期 HOUR:用户签到 时 MINUTE,用户签到 分 STATE:用户起床状态,签到后是geted NUM:名次 rank(存储最后签到时间和...
中班健康:心理健康活动起床喽.doc
这是我的世界服务器小游戏插件,放到服务器里面就可以玩了。
微信开发模式php源码,可以实现起床签到功能,抽奖功能
你妈喊你起床啦》阅读练习及答案.pdf
本程序由易语言编制,不含版权问题.喜欢的拿去用.如果有意见反馈不胜感激!
幼儿园小班冬眠动物:该起床了(教学方案).pdf
适合清晨起床听的歌曲,适合起床后听的歌.doc
基于python+webRTC+opencv来实现通信和检测小宝是否起床系统.zip 远程检测小宝睡觉(防摔床) 提供一个后台服务,并且可以通过手机或者平板,监测小宝是否起床。当起床后爬动手机会响起报警。 主要使用webRTC和...
4,智能充电模式 ,智能充电模式 开启智能充电模式 开启智能充电模式,系统会⾃动学习您的充电习惯,进⾏智能充电管理,避免电池长时间处于 满电状态,以延缓电池⽼化速度和延长电池使⽤寿命。建议您开启该功能。 ...
自律挑战,为目标打卡; 一款打卡签到就能分钱的软件; 你和优秀的人只差这一个APP: ...起床了么是一款简洁的习惯打卡应用,个性化的设置将你的习惯仪式化。它会激励你,然后轻轻一点,就完成了你的目标记录。