论坛首页 入门技术论坛

Decoretor

浏览 2002 次
锁定老帖子 主题:Decoretor
该帖已经被评为新手帖
作者 正文
   发表时间:2007-12-20   最后修改:2010-01-04

如下:
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