标题: 装饰设计模式的例子的问题 [打印本页] 作者: anyanyhai 时间: 2012-3-26 14:30 标题: 装饰设计模式的例子的问题 class Person
{
public void chifan()
{
System.out.println("吃饭");
}
}
class SuperPerson
{
private Person p ; \\对此句很迷惑?解释这句的作用,为什么要这样用。
SuperPerson(Person p)
{
this.p = p;
}
public void superChifan()
{
System.out.println("开胃酒");
p.chifan();
System.out.println("甜点");
System.out.println("来一根");
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p = new Person();
SuperPerson sp = new SuperPerson(p); \\还有这句的作用?
sp.superChifan();
}
}作者: 黄奇耀 时间: 2012-3-26 14:40
private Person p ;//成员变量一般用private修饰。
SuperPerson sp = new SuperPerson(p); //p作为一个参数传给了sp对象,sp就拥有了p中的方法功能。 作者: 田斌 时间: 2012-3-26 14:44
private Person p ; 私有化一个成员的引用,superperson是对person功能的增强,所以先要有一个成员person,方便调用它的方法
SuperPerson sp = new SuperPerson(p); new一个superperson,将person传进来 作者: 陈建凡 时间: 2012-3-26 15:16
private Person p ; 把类Person 当做类成员来使用,使用private 封装了,只能在本类中使用;
SuperPerson sp = new SuperPerson(p); 实例化 SuperPerson ,创建了一个sp 对象,然后通过构造函数,把p erson p = new Person() 的对象 p 当做 参数 传递给 sp的成员变量 p