4.2过滤器和监听器——过滤器常用内容补充,装饰者设计模式

JAVAWEB学习文章索引点这里
装饰者设计模式
装饰者设计模式,指的是通过包装类的方式,动态地增强某个类的功能。其特点如下:
1,包装类和被包装类要实现同样的接口。某些时候也可以是继承一些实现类。
2,包装类持有一个被包装对象(通常在包装类的构造方法中传递一个被包装类的对象的参数)
3,包装类在实现接口的过程中,对于不需要包装的方法原封不动得调用被包装对象的方法来实现,需要包装的方法自己实现
下面一个手机的例子:

package com.test;

//手机
interface Phone{
    void action();
}
//普通手机
class NormalPhone implements Phone{
    @Override
    public void action() {
        System.out.println("打电话");
    }
}
class SmartPhone implements Phone{
    NormalPhone nlPhone = null;
    public SmartPhone(NormalPhone nlPhone) {
        this.nlPhone = nlPhone;
    }
    @Override
    public void action() {
        nlPhone.action();
        //智能手机的增强内容
        System.out.println("可以玩游戏");
    }
}
public class PhoneDemo {
    public static void main(String[] args) {
        System.out.println("---------被装饰之前--------");
        NormalPhone nlPhone = new NormalPhone();
        nlPhone.action();
        System.out.println("------被装饰之后,在原有的功能下得到了加强------");
        SmartPhone smPhone = new SmartPhone(nlPhone);
        smPhone.action();

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值