装饰模式

        装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。

        功能本质不变,增加额外的功能。没有继承关系,降低耦合,实际功能还是被装饰类来实现。java io 流就采用装饰模式。

demo实例:

基类:Phone

/*以前的手机打电话,叮铃铃...*/

public class Phone {
    public void call(){
        System.out.println("打电话...");
    }
}

装饰类:SongPhone

/*现在手机打电话可以听到彩铃*/

public class SongPhone {

    private Phone phone;

    public SongPhone(Phone phone) {
        this.phone = phone;
    }

    public void call(){
        System.out.println("我在仰望,月亮之上~~");
        phone.call();
    }

}

测试类:Person

public class Person {
    public static void main(String[] args) {
        SongPhone songPhone = new SongPhone(new Phone());
        songPhone.call();
    }

}

测试结果:

我在仰望,月亮之上~~
打电话...


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值