zoukankan      html  css  js  c++  java
  • 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;

    }

    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    尾递归
    gcc/g++ 命令
    GCC输出带C源代码的汇编文件
    linux下Ctrl命令组合
    静态链接库(lib)、动态链接库(dll)与动态链接库的导入库(lib)
    VS2010-MFC(菜单:菜单及CMenu类的使用)
    VS2010-MFC(菜单:VS2010菜单资源详解)
    VS2010-MFC(常用控件:标签控件Tab Control 下)
    VS2010-MFC(常用控件:标签控件Tab Control 上)
    VS2010-MFC(常用控件:树形控件Tree Control 下)
  • 原文地址:https://www.cnblogs.com/blogs-chao/p/4764921.html
Copyright © 2011-2022 走看看