黑马程序员技术交流社区

标题: 装饰设计模式 这里有类 p 都是什么意思!请详解 [打印本页]

作者: 雨来    时间: 2015-11-7 21:01
标题: 装饰设计模式 这里有类 p 都是什么意思!请详解
谈资不是这个p.eat();    这个p 是 private Person p; 吗?

  1. /**
  2. 装饰设计模式:增加原有类的功能
  3. **/
  4. class  RedoublePerson
  5. {
  6. public static void main(String[] args)
  7. {
  8.   Person p=new Person();
  9.   RePerson rp=new RePerson(p);
  10.   rp.reEat();
  11. }
  12. }
  13. class Person
  14. {
  15. public void eat ()
  16. {

  17.    System.out.println("吃饭");
  18. }
  19. }
  20. class RePerson//Person 类加强
  21. {
  22. private Person p;
  23. public RePerson(Person p)
  24. {
  25.     this.p=p;

  26. }
  27. public void reEat()
  28. {
  29.    System.out.println("开胃酒");
  30.    p.eat();
  31.    System.out.println("喝点营养汤");
  32.     System.out.println("抽一根烟");

  33. }
  34. }


复制代码


作者: 大自然的搬运工    时间: 2015-11-7 21:08
是的,你在创建RePerson的时候传进去一个person,他里面用的p.eat()就是调用你传进去的person的方法。
作者: 雨来    时间: 2015-11-7 21:12
大自然的搬运工 发表于 2015-11-7 21:08
是的,你在创建RePerson的时候传进去一个person,他里面用的p.eat()就是调用你传进去的person的方法。 ...

谢谢,经兄台这一说我理解的更深了  就是new  那个传进去的p  谢谢了
作者: 我若为神    时间: 2015-11-7 21:14
666666666666




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2