A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 莫运飞 中级黑马   /  2012-4-9 20:35  /  2359 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Person
{
        public void chifan()
        {

                System.out.println("ddd");


        }
}

class SuperPerson
{
        private Person p//这里装饰设计模式中的 private Person p “Person”是类上面的Person吗???

        SuperPerson(Person p)

        {

        this.p=p;


        }


        public void test()

{

}


}

class PersonDemo
{
        public static void main(String[] args)
{

        Person p=new Person();

        SuperPerson sp=new SuperPerson(p);

        sp.test();
}

}




程序没有写完的,问题在上面了。  谢谢

















评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

5 个回复

倒序浏览
是的 调用Person类  
不知道我这样理解对不对 我就是这么认为的
回复 使用道具 举报
Person  就是上面的 Person 对象
回复 使用道具 举报
是的,定义一个私有的Person 实例对象。然后创建构造函数时,把这个实例对象作为参数传进去,对象具备的功能和已有的是相同的,只不过提供了更强功能,这就是装饰类。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
装饰设计模式  是 被装饰的类 和装饰类 属于同一级的    也就是 这两个类又相同的父类
   把被装饰的类  传递到装饰类的构造方法中  
   这样在装饰类中  用被装饰类的引用调用被装饰类的方法  给其方法添加新的功能   
回复 使用道具 举报
是的,类的引用和我们平时用的int string 是相同的,只是这个类是我们定义的,而int string 是已经定义好的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马