题解 | #观察者模式#

观察者模式

http://www.nowcoder.com/practice/557ec9ca35d542feaa06261385711323

// 补全代码
class Observerd {
  constructor(name){
    this.name=name,
      this.state="走路"
    this.Observers = []
  }
  setObserver(Observer){
    // 保存观察者
    this.Observers.push(Observer);
  }
  setState(stat){
    // 设置被观察者的属性
    this.state = stat;
    // 并通知所有的观察者
    let that = this;
    this.Observers.forEach((item,index)=>item.update(that))
  }
}

class Observer {
  constructor(){
  }
  // 将被观察者对象当做参数传入
  update(Observerd){
    console.log(Observerd.name+"正在"+Observerd.state)
  }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务