打字猴:1.700477374e+09
1700477374
1700477375 }
1700477376
1700477377 丑小鸭具备了天鹅的所有行为和属性,因为她本来就是一只白天鹅,只是因为她太小了还不能飞行,也不能照顾自己,所以丑丑的,在经过长时间的流浪生活后,丑小鸭长大了。终于有一天,她发现自己竟然变成了一只美丽的白天鹅,有着漂亮、洁白的羽毛,而且还可以飞行,这完全是一种升华行为。那我们来看看她的行为(飞行)和属性(外形)是如何加强的,先看抽象的装饰类,如代码清单31-9所示。
1700477378
1700477379 代码清单31-9 抽象装饰类
1700477380
1700477381 public class Decorator implements Swan{
1700477382
1700477383 private Swan swan;
1700477384
1700477385 //修饰的是谁
1700477386
1700477387 public Decorator(Swan_swan){
1700477388
1700477389 this.swan=_swan;
1700477390
1700477391 }
1700477392
1700477393 public void cry(){
1700477394
1700477395 swan.cry();
1700477396
1700477397 }
1700477398
1700477399 public void desAppaearance(){
1700477400
1700477401 swan.desAppaearance();
1700477402
1700477403 }
1700477404
1700477405 public void fly(){
1700477406
1700477407 swan.fly();
1700477408
1700477409 }
1700477410
1700477411 }
1700477412
1700477413 这是一个非常简单的代理模式。我们再来看丑小鸭是如何开始变得美丽的,变化是由外及里的,有了漂亮的外表才有内心的实质变化,如代码清单31-10所示。
1700477414
1700477415 代码清单31-10 外形美化
1700477416
1700477417 public class BeautifyAppearance extends Decorator{
1700477418
1700477419 //要美化谁
1700477420
1700477421 public BeautifyAppearance(Swan_swan){
1700477422
1700477423 super(_swan);
[ 上一页 ]  [ :1.700477374e+09 ]  [ 下一页 ]