`
cherubo
  • 浏览: 4957 次
  • 来自: ...
文章分类
社区版块
存档分类

Decoretor

阅读更多

如下:
package com.pattern.decoretor.yzb;

public interface IDog {
  void move();
}


这个狗开始只会走路.这样一来呢.我的GW也就只会走路了, 哎,看下面就知道了.
package com.pattern.decoretor.yzb;
public class MyDog implements IDog{

	public void move() {
		System.out.println("MyDog can move");//GW	
	}
}


package com.pattern.decoretor.yzb;

public class YDog extends DogDecoretor {


	public YDog(IDog dog) {
		super(dog);
	
	}
	public void move() {
		super.move();
                  
			}
public void eatMoon(){

System.out.println("yydog can fly so eat moon!");//看看这狗多牛.

}

}



package com.pattern.decoretor.yzb;

public abstract class DogDecoretor implements IDog {
private IDog dog;
	public DogDecoretor(IDog dog){
		this.dog=dog;
	}
	public void move() {
		dog.move();
		eatMoon();

	}
public abstract void eatMoon();//净化成这样了都.

}


package com.pattern.decoretor.yzb;

public class Test {
public static void main(String [] args){
	IDog dog=new MyDog();
	dog.move();//
           System.out.println("*********************");
	YDog y=new YDog(dog);
	y.move();//
	
}
}



结果:

MyDog can move
*********************
MyDog can move
yydog can fly so eat moon!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics