黑马程序员技术交流社区
标题:
祝大家新年快乐。。同时提一个问题。
[打印本页]
作者:
疯子的昨天
时间:
2014-1-1 22:49
标题:
祝大家新年快乐。。同时提一个问题。
各位师兄帮我看下这段代码。
class SuperPerson{
private person P;
SuperPerson(Person p){
this.p=p;}
public void superchifan(){
System.out.println("开胃菜“);
p.chifan();
System.out.println("甜点“);}
}
这是毕老师IO中讲装饰设计模式举例的一段代码,我想问一下为什么要写这段代码:private person P;
SuperPerson(Person p){
this.p=p;}如果不写 不是也可以直接调用下面的Superchifan();方法吗?有什么区别?谢谢大家 同时祝大家新年快乐。
作者:
浮出一个美
时间:
2014-1-1 22:57
这一集我也看过,还记得一点点。
他说:装饰模式就是对原来类的增强,这样就不用修改原有的类,实现松耦合。
既然是对原有类的增强,就还是要用到原有类的对象撒,所以在装饰类里声明一个成员变量person【被装饰类】,然后通过构造函数把person对象传进来,方便调用他的方法。
public void superchifan(){
System.out.println("开胃菜“);
p.chifan();
System.out.println("甜点“);}
}
复制代码
纵然是超级吃饭,总归还是要吃饭的。
装修房屋,不可能说你只要家具,不要房子,对吧。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2