Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243148
  • 博文数量: 164
  • 博客积分: 60
  • 博客等级: 民兵
  • 技术积分: 1129
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 21:55
文章分类

全部博文(164)

文章存档

2017年(2)

2015年(67)

2014年(95)

我的朋友

分类: Java

2014-04-12 10:55:35

/*
装饰设计模式:
当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。
那么自定义的该类称为装饰类。

装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能。

*/

点击(此处)折叠或打开

  1. class Person
  2. {
  3.     public void chifan()
  4.     {
  5.         System.out.println("吃饭");
  6.     }
  7. }

  8. class SuperPerson 
  9. {
  10.     private Person p ;
  11.     SuperPerson(Person p)
  12.     {
  13.         this.= p;
  14.     }
  15.     public void superChifan()
  16.     {
  17.         System.out.println("开胃酒");
  18.         p.chifan();
  19.         System.out.println("甜点");
  20.         System.out.println("来一根");
  21.     }
  22. }



  23. class PersonDemo
  24. {
  25.     public static void main(String[] args) 
  26.     {
  27.         Person p = new Person();

  28.         //p.chifan();

  29.         SuperPerson sp = new SuperPerson(p);
  30.         sp.superChifan();

  31.     }
  32. }

/*
    java API 中装饰模式例子
*/

点击(此处)折叠或打开

  1. import java.io.*;

  2. class BufferedReaderDemo
  3. {
  4.     public static void main(String[] args) throws IOException
  5.     {
  6.         //创建一个读取流对象和文件相关联。
  7.         FileReader fr = new FileReader("buf.txt");

  8.         //为了提高效率。加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。
  9.         BufferedReader bufr = new BufferedReader(fr);
  10.         

  11.         String line = null;

  12.         while((line=bufr.readLine())!=null)
  13.         {
  14.             System.out.print(line);
  15.         }


  16.         bufr.close();
  17.     }

  18. }

阅读(408) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~