改造已有的A类里面的aa方法
继承
写一个类继承A类,改造aa方法,必须保证A类没有子类,才能用继承改造方法。如果已经有了一个A类对象了,用继承是不能改造已有的A类对象。
装饰
写一个类实现和A类相同的接口,保证装饰者和被装饰者具有相同的方法。提供构造方法,允许用户在构造装饰者对象时候把被装饰者得对象传入,对不想改造的方法调用原A类的方法,对想改造得方法自己去写就可以了。
动态代理
已经有了A类的一个对象了,对其中的aa方法不满意。创建一个代理对象,代理对象直接调用A类中不需要改造的方法,代理者自己写一个方法改造aa方法。