class Observerd {
  constructor(name) {
	this.name = name
	this.state = '走路'
	this.observerSet = new Set()
  }

  // 用于保存观察者们
  setObserver(observer) {
  	this.observerSet.add(observer)
  }

// 用于设置该观察者"state"并通知所有观察者
  setState(state) {
	this.state = state
	for (let observer of this.observerSet) {
		observer.update(this.name, state)
	}
  }
}

class Observer {
// 用于被观察者进行消息通知,需要打印(console.log)数据,
// 数据格式为:小明正在走路。
// 其中"小明"为被观察者的"name"属性,"走路"为被观察者的"state"属性
  update(name, state) {
  	console.log(`${name}正在${state}`);
  }
}