package com.soar.chario;
public class Demo6_Wrap {
/*
* 装饰设计模式的好处是:
* 耦合性不强,被装饰的类的变化与装饰类无关
*/
public static void main(String[] args) {
SoarStudent ss = new SoarStudent(new Student());
ss.code();
}
}
interface Coder{
public void code();
}
class Student implements Coder{
@Override
public void code() {
System.out.println("javase");
System.out.println("javaweb");
}
}
class SoarStudent implements Coder{
//① 获取被装饰类的引用
private Student s; //获取学生引用
//② 在构造方法中传入被装饰类的对象
public SoarStudent(Student s){
this.s = s;
}
//③ 对原有的功能进行升级
@Override
public void code() {
s.code();
System.out.println("ssh");
System.out.println("数据库");
System.out.println("大数据");
System.out.println("...");
}
}
Java_基础—装饰设计模式
最新推荐文章于 2025-07-28 14:21:22 发布
本文通过一个具体的Java示例介绍了装饰者设计模式的概念及其优势。该模式允许在不修改原有类的前提下为其添加新的功能,实现更加灵活的功能扩展。文章展示了如何通过装饰者模式为一个简单的学生编码任务增加额外的学习内容。
320

被折叠的 条评论
为什么被折叠?



