你的位置:首页 > 软件开发 > Java > 浅谈装饰模式

浅谈装饰模式

发布时间:2016-12-08 15:00:29
装饰与继承的区别:装饰:基于已有的功能,并提供加强功能,装饰类通常会通过构造方法接收被装饰的对象。并基于被装饰的对象的功能,提供更强的功能。相对于继承来说装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。英文叫:Decorator 继承:因为要扩展某个功能,就得 ...

浅谈装饰模式

装饰与继承的区别:

装饰:基于已有的功能,并提供加强功能,装饰类通常会通过构造方法接收被装饰的对象。并基于被装饰的对象的功能,提供更强的功能。相对于继承来说装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。英文叫:Decorator

 

继承:因为要扩展某个功能,就得继承父类,然后覆盖重写,导致这个体系更加臃肿,并且内存占用高。

 

一般情况下,其实接口也可以当做一种抽象类来看待,也就是说父类对象也可以是接口,如果一个类A实现了一个接口T,当我们在声明实例:T t =new A();时,t看起来是一个T,本质上是一个A,这也是多态的一种!

验证一下,首先先创建一个接口a:

 1 public class test { 2  interface a{ 3    void fun(); 4   } 5  class b implements a{ 6  7   public void fun() { 8     System.out.println("这个实现接口类!"); 9   }10    11   }12  class c extends b{13    public void fun(){14      System.out.println("这是实现接口类的子类!!");15     }16   }17  public static void main(String[] args) {18     a dd = new test().new c();19     dd.fun();20   }21 }

原标题:浅谈装饰模式

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录