原本关系:
狗猫鼠:
CatA看见狗会跑,CatB看见狗会对叫
MouseA看见猫会跑,MouseB看见猫会对叫
实现如下:
狗叫了,名叫CatA的猫跑了,名叫CatB的猫叫了(意思就是对叫,表示不怕狗,也就是不跑)
猫叫了,名叫MouseA的老鼠跑了,名叫MouseB的老鼠叫了(意思就是对叫,表示不怕狗,也就是不跑)
输出显示:
事件发生---->狗DogA叫了
名叫CatA的猫跑了它看见了DogA
名叫CatB的猫叫了它看见了DogA
名叫MouseA的老鼠跑了它看见了CatB
名叫MouseB的老鼠叫了它看见了CatB
事件发生---->猫CatA叫了
名叫MouseA的老鼠跑了它看见了CatA
名叫MouseB的老鼠叫了它看见了CatA
定义5个类
Aniaml
Dog: Aniaml
Cat : Aniaml
Mouse : Aniaml
AnimalEvent
控制台代码:
当前功能可以实现,但是,
现在是狗,猫,鼠
如果有10条狗,Dog1到10
6条猫,Cat1到6
8只老鼠,Mouse1到8
如果出现行为的特殊化 ,也就是说,Cat1看到Dog1、2、6、8跑,其他都是叫;Mouse1看到Cat3、4、5跑,其他叫,
或者
行为出现数量化 ,也就是说CAT1看到DOG1、3、5会跑,看到DOG2会跳,等其他的行为
那这个事件添加的方式感觉相当不太好,等待以后重构