添加一个 FlySuperDuck.java implement IFlyBehavior在具体鸭子中可以拥有这种行为:public ModelDuck(){this.flybehavior=newFlySuperDuck();}这样就可以实现给某种鸭子添加某种行为。在具体鸭子中可以拥有这种行为:public ModelDuck(){this.flybehavior=newFlySuperDuck
原创 2014-12-01 00:55:02
1376阅读
例1: package com.woniuxy.p_strategy.a; /* Joe上班的公司做了一套相当成功的模拟鸭子游戏:SimUDuck。游戏中会出现各种鸭子,一边游泳戏水,一边呱呱叫。 此系统的内部设计使用了标准的OO技术,设计了一个鸭子超类,并让各种鸭子继承此超类 */ abstrac ...
转载 2021-09-04 19:00:00
261阅读
2评论
设计原则: 1、找出应用中可能需要变化之处,把它独立出来,不要和那些不需变化的代码混在一起。 2、针对接口编程,而不是针对实现编程。(针对超类型编程)。 3、多用组合,少用继承。 示例程序(此处代码都为书上原码,只不过是本人手输入了一次) 大概讲下: 有套莫伊鸭子的游戏,SimUDuck,游戏中会出现许多鸭子,一边游泳,一边呱呱叫。 一开始,使用
原创 2023-02-19 10:40:13
71阅读