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_基础—装饰设计模式
最新推荐文章于 2024-07-21 23:18:00 发布