黑马程序员技术交流社区

标题: 装饰和继承的区别? [打印本页]

作者: 坚持525    时间: 2014-10-7 19:36
标题: 装饰和继承的区别?
毕老师,这一讲,讲到了装饰设计类,这是那个小例子,在什么情况下用装饰类会好点呢?
  1. class Person
  2.         public void chifan()
  3.         {
  4.                 System.out.println("吃饭");
  5.         }
  6. }
  7. class SuperPerson
  8. {
  9.         private Person p ;
  10.         SuperPerson(Person p)
  11.         {
  12.                 this.p = p;
  13.         }
  14.         public void superChifan()
  15.         {
  16.                 System.out.println("开胃酒");
  17.                 p.chifan();
  18.                 System.out.println("甜点");
  19.                 System.out.println("来一根");
  20.         }
  21. }
  22. class  PersonDemo
  23. {
  24.         public static void main(String[] args)
  25.         {
  26.                 Person p = new Person();
  27.                 //p.chifan();
  28.                 SuperPerson sp = new SuperPerson(p);
  29.                 sp.superChifan();
  30.         }
  31. }
复制代码

作者: sunshine9091    时间: 2014-10-9 22:50
装饰要好好学,进来后,在后面的javaweb以及框架里用的非常多!
作者: 354620815    时间: 2014-10-9 23:19
学习。。。。
作者: HM2014nuli    时间: 2014-10-10 07:34
装饰和继承的最大区别于,一个是都是继承它的父类共同成为父类中的子类,一个是认子类把子类当成父类,自己成为它的子类,新人一个,希望对你有帮助
作者: 20140829    时间: 2014-10-10 09:14
当想要对已有对象进行共更能增强时,可以定义装饰类,将已有对象传入,基于已有的功能,并提供加强功能,

作者: 菜鸟一号    时间: 2014-10-10 09:15
需要增强功能的时候装修类帮到你
作者: new999    时间: 2014-10-10 09:45
对象已存在,需要动态地改变或增加某些功能,可将它传入一个装饰器类,或者,使用动态代理
作者: 坚持525    时间: 2014-10-10 16:01
sunshine9091 发表于 2014-10-9 22:50
装饰要好好学,进来后,在后面的javaweb以及框架里用的非常多!

好的,:D谢谢学长,
作者: 坚持525    时间: 2014-10-10 16:02
new999 发表于 2014-10-10 09:45
对象已存在,需要动态地改变或增加某些功能,可将它传入一个装饰器类,或者,使用动态代理 ...

好的,我会好好学习的,
作者: kid1943    时间: 2014-10-10 16:53
修饰是增源有类的方法
作者: tiancairc    时间: 2014-10-11 09:48
从表面上看,装饰是一种设计模式,继承是面向对象的一种特性




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