黑马程序员技术交流社区

标题: Java设计模式之装饰模式 [打印本页]

作者: 澂澂    时间: 2015-4-25 13:52
标题: Java设计模式之装饰模式
装饰设计模式:
当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。
那么自定义的该类称为装饰类。

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



  • class Person
  • {
  •     public void chifan()
  •     {
  •         System.out.println("吃饭");
  •     }
  • }
  • class SuperPerson
  • {
  •     private Person p ;
  •     SuperPerson(Person p)
  •     {
  •         this.p = p;
  •     }
  •     public void superChifan()
  •     {
  •         System.out.println("开胃酒");
  •         p.chifan();
  •         System.out.println("甜点");
  •         System.out.println("来一根");
  •     }
  • }
  • class PersonDemo
  • {
  •     public static void main(String[ args)
  •     {
  •         Person p = new Person();
  •         //p.chifan();
  •         SuperPerson sp = new SuperPerson(p);
  •         sp.superChifan();
  •     }
  • }



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

点击(此处)折叠或打开

  • import java.io.*;
  • class BufferedReaderDemo
  • {
  •     public static void main(String[ args) throws IOException
  •     {
  •         //创建一个读取流对象和文件相关联。
  •         FileReader fr = new FileReader("buf.txt");
  •         //为了提高效率。加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。
  •         BufferedReader bufr = new BufferedReader(fr);
  •         String line = null;
  •         while((line=bufr.readLine())!=null)
  •         {
  •             System.out.print(line);
  •         }
  •         bufr.close();
  •     }
  • }




作者: 我_杰仔    时间: 2015-4-25 20:53
总结的不错,楼主加油~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2