首页 > 编程语言 >Java中装饰者模式

Java中装饰者模式

时间:2022-09-29 14:01:26浏览次数:44  
标签:Java dance void ldh 模式 public Star 装饰

  • 装饰模式可以在不改变原来类中代码的基础上,增强类中的方法
  • 装饰类LDHWrapper和被装饰类LDH必须实现同个接口Star
  • 装饰类中要定义属性为:被装饰类对象,同时定义构造方法
  • 重写接口Star中的方法,如果需要增强方法,就重写逻辑
public interface Star {
    void sing();
    void dance();
}
public class LDH implements Star{
    @Override
    public void sing() {
        System.out.println("ldh sing");
    }

    @Override
    public void dance() {
        System.out.println("ldh dance");
    }
}
public class LDHWrapper implements Star {

    private LDH ldh;

    public LDHWrapper(LDH ldh) {
        this.ldh = ldh;
    }

    @Override
    public void sing() {
        System.out.println("ldh dance in the sky");
    }

    @Override
    public void dance() {
        ldh.dance();
    }
}

标签:Java,dance,void,ldh,模式,public,Star,装饰
From: https://www.cnblogs.com/pzistart/p/16741259.html

相关文章

  • JavaScript——事件监听
    事件监听    1、事件绑定      2、常见事件    ......
  • java代码练习(数组)基于黑马的课自学
    代码练习数组本次练习全部使用黑马的课中给出的模型本博客的意义在于统计我平时写代码过程中的错误模型一错误代码所写代码及其运行结果可见其不符合需求原因:“......
  • java初步学习 数组(基于黑马的课进行自学,初学者,不喜勿喷)8
    初步学习数组基本概念数组是指一种容器,用来同时储存同种数据类型的多个值如:指定一个数组名为“base”,数据类型为“int”,即可同时储存如“13,19,100”等类型为“int”的......
  • Nacos Java Spring boot微服务配置错误 Error creating bean with name ‘configurati
    最近在学习微服务技术,在尝试Nacos的时候Java程序出错,提示Bean错误,在重新配置springboot和nacos的版本后,错误解决,下面是我用的版本,供大家参考。 Errorcreatingbean......
  • Oracle 12C R2-新特性-多租户:支持本地UNDO模式
    在12.1中,所有的在一个实例中的PDB只能共享同一个UNDO表空间。在12.2中它们都有各自的undo表空间了。这种新的管理机制就叫做本地undo模式。与此同时,在之前的版本中现在就成......
  • 力扣202(java&python)-快乐数(简单)
    题目:编写一个算法来判断一个数n是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为1,......
  • Java基础Day5-数组
    一、数组声明创建首先必须声明数组变量,才能在程序中使用数组。声明数组变量的语法如下:dataType[]arrayRefVar;例如:int[]nums;Java语言使用new操作符来创建数组......
  • java_day02
    Java基础注释注释并不会被执行,可以帮助我们更好的理解代码书写注释是一个好习惯***Java注释有三种***单行注释使用双斜杠//idea快捷键为ctrl+/多......
  • Java 代码优化技巧合集:如何节约时间和空间
    JavaPerformance:reducingtimeandspaceconsumption一篇关于如何优化Java代码的文章,提供了很多很有用的小技巧。 原文地址:http://www.itu.dk/people/sestoft/pape......
  • JavaScript构造函数
    一、什么是构造函数 构造函数(Constructor)的创建方式和普通函数一样。但通常首字母进行大写,用于和普通函数区分。 但是当一个函数创建好以后,我们并不知道它是不是构造......