黑马程序员技术交流社区

标题: 装饰模式的装饰类为什么还要去实现被装饰类实现的接口 [打印本页]

作者: 柒哥爱编程    时间: 2016-4-8 22:39
标题: 装饰模式的装饰类为什么还要去实现被装饰类实现的接口
装饰设计模式的装饰类为什么还要去实现被装饰类实现的接口呢?
不实现装饰类也能正常调用和实现装饰了的方法啊。
public class Test {
        public static void main(String[] args) {
                HeiMaStudent s = new HeiMaStudent(new Student());
                s.code();
        }
}
interface Coder {
        public abstract void code();
}
class Student implements Coder {
        @Override
        public void code() {
                System.out.println("java");
        }       
}

class HeiMaStudent implements Coder {    // 今天学了装饰设计模式,,,装饰类为什么还要实现这个接口呢?不实现也能调用
        private Student s;
        public HeiMaStudent(Student s) {
                super();
                this.s = s;
        }
        @Override
        public void code() {
                s.code();
                System.out.println("android");
        }
}

作者: shiax11    时间: 2016-4-9 10:11
好东西   好东西
作者: shiax11    时间: 2016-4-9 10:22
哈哈  顶顶顶
作者: 柒哥爱编程    时间: 2016-4-9 10:22
求讲解,疑惑很久很久了。




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