博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——设计模式(装饰模式_IO)
阅读量:6464 次
发布时间:2019-06-23

本文共 1044 字,大约阅读时间需要 3 分钟。


/*

 * 装饰设计模式: 

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

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

 * 

 */

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;

}

}

转载地址:http://grhzo.baihongyu.com/

你可能感兴趣的文章
swagger搭建(基于springBoot)详解
查看>>
springboot中的几种scope
查看>>
php中自定义事件---事件驱动
查看>>
MXNET:卷积神经网络
查看>>
Python 类的多继承
查看>>
十个有趣的“大数据”挖掘案例
查看>>
gorename: easy refactoring tool for Golang[转]
查看>>
101与金根回顾敏捷个人:(78)能力四阶段
查看>>
C#禁止拖动的标题栏, 双击标题栏无反应
查看>>
建立丰富多彩的toast的简单实例
查看>>
flume 几个比较有用的source、sink和decorator
查看>>
C++中值传递、指针传递和引用传递的比较 (转)
查看>>
【JAVASCRIPT】表单序列化问题
查看>>
孙庆新:做产品,感觉从何而来
查看>>
SQL SERVER CURSOR游标的使用(转载)
查看>>
Java程序栈信息文件中的秘密(五)
查看>>
拼写检查器的编写[转]
查看>>
[c#基础]关于const和readonly常见的笔试题剖析
查看>>
编写高质量代码改善C#程序的157个建议[避免finaly内的无效代码、避免嵌套异常、避免吃掉异常、注意循环异常处理]...
查看>>
kafka 集群安装与安装测试
查看>>