首页 > 编程语言 > 详细

基于JAVA的设计模式之装饰模式

时间:2019-07-04 12:25:26      阅读:84      评论:0      收藏:0      [点我收藏+]
  • 介绍

    装饰设计模式,可以在原有技能的基础上,新增技能,降低继承所带来的耦合性。

  • 类图

  技术分享图片

  • 代码
public interface Component {
    public void function();
}

public class ConcreteComponent implements Component {
    public void function() {
        System.out.println("基本功能:呼吸+觅食+睡觉");
    }
}

public class Decorator implements Component {
    private Component component;
    public Decorator(Component component){
        this.component=component;
    }
    public void function() {
        component.function();
    }
}

public class ConcreteDecorator extends Decorator {
    public ConcreteDecorator(Component component) {
        super(component);
    }

    @Override
    public void function() {
        super.function();
        System.out.println("附加功能:");
        this.eat();
    }

    private void eat(){
        System.out.println("吃肉");
    }
}

public class Main {
    public static void main(String[] args) {
        Component component=new ConcreteComponent();
        component.function();
        Component deComponent=new ConcreteDecorator(component);
        deComponent.function();
    }
}

基于JAVA的设计模式之装饰模式

原文:https://www.cnblogs.com/hbsdljz/p/11131646.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!