首页 > 代码库 > Java——设计模式(装饰模式_IO)

Java——设计模式(装饰模式_IO)


/*

 * 装饰设计模式: 

 * 对一组对象的功能进行增强时,就可以使用该模式进行问题的解决;

 * 装饰和继承都能实现一样的特点:  就是进行功能的扩转增强。

 * 

 */

public class TestIO4

{

public static void main(String[] args)

{

Person p = new Person();

NewPerson np = new NewPerson(p);

np.chifan();//使用增强后的功能.

}

}

//原有的类

class Person

{

void chifan()

{

System.out.println("吃饭");

}

}

//装饰模式  第一种方式

//这个类的出现是为了增强Person类 而出现的

class NewPerson

{

private Person p;

NewPerson(Person p)

{

this.p = p;

}

public void chifan()

{

System.out.println("增强功能");
p.chifan();//原有功能;
System.out.println("增强功能");

}

}

//装饰模式第二种方式

//这个类是为了增强Person的功能:

class NewPerson2 extends Person

{

public void chifan()

{

System.out.println("增强工恩呢该");

super.chifan();

System.out.println("增强功能");

}

}

 

-==========================================================================

public class TestIO4

{

private FileReader r;

//定义一个数组作为缓冲区。

private char[] buf = new char[1024];

//定义一个指针用于操作这个数组中的元素,当操作到最后一个元素后,指针应该归零。

private int pos = 0;

//定义一个计数器用于记录缓冲区中的数据个数,  当该数据减到0,就从原数据中继续获取 数据到缓冲区中。

private int count = 0;

TestIO4(FileReader r)

{

this.r = r;

}

}