6.装饰设计模式

装饰模式

包装类的特点:

1.包装类和被包装类实现同样的接口
2.包装类持有一个被包装的对象
3.包装类在实现接口过程中,要对不包装的方法要原封不动的调用,对于已包装的方法要自己实现。

public interface Phone {
    void play();
}
public class NonSmartPhone implements Phone {
    @Override
    public void play() {
        System.out.println("仅仅可以打电话哦……");
    }
}

public class SmartPhone implements Phone{
    private NonSmartPhone nonSmartPhone;
    public SmartPhone(NonSmartPhone nonSmartPhone) {
        this.nonSmartPhone = nonSmartPhone;
    }

    @Override
    public void play() {

        System.out.println("智能手机可以上网!");
        nonSmartPhone.play();
        System.out.println("智能手机可以打游戏!");

    }

    public static void main(String[] args) {
        SmartPhone smartPhone = new SmartPhone(new NonSmartPhone());
        smartPhone.play();
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容