【设计模式】装饰器模式类图和代码

    科技2022-08-30  103

    文章目录

    1 概述2 类图3 代码

    1 概述

    2 类图

    3 代码

    package lixiang; public class Test { public static void main(String[] args){ new RobotDecorate(new FirstRobot()).doMorething(); } } interface Robot{ void doSomething(); } class FirstRobot implements Robot{ @Override public void doSomething() { System.out.println("Sing"); System.out.println("Say"); } } class RobotDecorate implements Robot{ private Robot robot; public RobotDecorate(Robot robot){ this.robot=robot; } @Override public void doSomething() { } public void doMorething(){ robot.doSomething(); //一个FirstRobot类型的对象成员 System.out.println("Dance"); } }

    要想把具体的机器人塞入盒子(装饰器),需要在装饰器中添加一个机器人对象成员变量。

    class RobotDecorate implements Robot 可以改成 abstract class RobotDecorate implements Robot 对应第二部分的类图 让装饰器有更多的子类。 李响Superb 认证博客专家 机器学习 TensorFlow 图像处理 成为一名优秀的算法工程师⬆️ ,目前还在读软件工程,AI攻防、算法和深度学习方向,微博同名❤️ :李响Superb,(记得关注,有问题微博私信!)我们一起努力呀!
    Processed: 0.024, SQL: 9