package itcast.java16; /* * 可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能 * 那么自定义的该类称为装饰类 * * 装饰类通常会通过构造方法接受被装饰的对象 * 并基于被装饰的对象的功能,提供更强的功能 */ class Person { public void eat() { System.out.println("吃饭"); } } class SuperPerson { private Person p; public SuperPerson(Person p) { this.p = p; } public void superEat() { System.out.println("起床"); p.eat(); System.out.println("喝汤"); } } public class DecorateDemo { public static void main(String[] args) { SuperPerson superPerson = new SuperPerson(new Person()); superPerson.superEat(); } }