Java装饰器设计模式初探
程序员文章站
2024-03-13 15:04:03
本篇随笔主要介绍用java实现简单的装饰器设计模式:
先来看一下装饰器设计模式的类图:
从图中可以看到,我们可以装饰component接口的任何实现类,...
本篇随笔主要介绍用java实现简单的装饰器设计模式:
先来看一下装饰器设计模式的类图:
从图中可以看到,我们可以装饰component接口的任何实现类,而这些实现类也包括了装饰器本身,装饰器本身也可以再被装饰。
下面是用java实现的简单的装饰器设计模式,提供的是从基本的加入咖啡入手,可以继续加入牛奶,巧克力,糖的装饰器系统。
interface component { void method(); } class coffee implements component { @override public void method() { // todo auto-generated method stub system.out.println("倒入咖啡"); } } class decorator implements component { public component comp; public decorator(component comp) { this.comp = comp; } @override public void method() { // todo auto-generated method stub comp.method(); } } class concretedecoratea extends decorator { public component comp; public concretedecoratea(component comp) { super(comp); this.comp = comp; } public void method1() { system.out.println("倒入牛奶"); } public void method2() { system.out.println("加入糖 "); } public void method() { super.method(); method1(); method2(); } } class concretedecorateb extends decorator { public component comp; public concretedecorateb(component comp) { super(comp); this.comp = comp; } public void method1() { system.out.println("加入巧克力"); } public void method() { super.method(); method1(); } } public class testdecoratepattern { public static void main(string[] args) { component comp = new coffee(); comp.method(); system.out.println("--------------------------------------------------"); component comp1 = new concretedecoratea(comp); comp1.method(); system.out.println("--------------------------------------------------"); component comp2 = new concretedecorateb(comp1); comp2.method(); system.out.println("--------------------------------------------------"); component comp3 = new concretedecorateb(new concretedecoratea(new coffee())); comp3.method(); system.out.println("--------------------------------------------------"); component comp4 = new concretedecoratea(new concretedecorateb(new coffee())); comp4.method(); } }
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Java中枚举的使用详解
下一篇: 基于Java中Math类的常用函数总结