Friends

Friends接口

  1. public interface Friends {
  2. void doSomeThing();
  3. }

Friends接口实现类

  1. import com.test.demo.textdemo.zsz.service.Friends;
  2. public class ZhangJiChong implements Friends {
  3. @Override
  4. public void doSomeThing() {
  5. System.out.println("张计冲");
  6. }
  7. }
  1. import com.test.demo.textdemo.zsz.service.Friends;
  2. public class ZhouQinTao implements Friends {
  3. @Override
  4. public void doSomeThing() {
  5. System.out.println("周钦涛");
  6. }
  7. }

装饰者

装饰者类

  1. public class Decorator implements Friends {
  2. public Friends friends;
  3. public Decorator(Friends friends) {
  4. this.friends = friends;
  5. }
  6. @Override
  7. public void doSomeThing() {
  8. friends.doSomeThing();
  9. }
  10. }

装饰者的具体实现

  1. import com.test.demo.textdemo.zsz.decorator.Decorator;
  2. import com.test.demo.textdemo.zsz.service.Friends;
  3. public class Eat extends Decorator {
  4. public Eat(Friends friends) {
  5. super(friends);
  6. }
  7. @Override
  8. public void doSomeThing() {
  9. friends.doSomeThing();
  10. System.out.println("吃了屎");
  11. }
  12. }

测试

  1. public class Main {
  2. public static void main(String[] args) {
  3. Eat eat = new Eat(new Eat(new ZhangJiChong()));
  4. eat.doSomeThing();
  5. }
  6. }
  7. //runtime
  8. 张计冲
  9. 吃了屎
  10. 吃了屎