00:00
我们试一试啊,看看能不能实现我们刚才这个想法啊。实现刚才想法,那我看看怎么做啊。我们再来一个小模块吧。再来一个啊。再来一个我们叫做CH04,那这个就是我们在实际项目中真正完成这个功能了,那这块我们叫做增强呗,增加ad。就完事了,说这个增强,哎,D那完了,很简单。那刚才我说的,假如说你在程序中现在有一个功能类啊功能类。这个类的包呢?Com北京power not.service来,Sorry,你的光呢,得有接口啊,得有接口啊。这个接口呢,比如说我们就叫做这个哈吧,简单一点的啊,功能我们就叫做hello service。
01:02
是一个接口,然后在这个里边呢,我们就写那个方法不认啊不认。这个普方法呢,有反回值,反应值是一个int呗,不认。不认,然后参数这块呢,我们写一个name吧,我就相当于说打印报告,打印报告。或者是报表吧,都行啊,这是一个接口,然后你实现它吧,完成一个功能吧,比方说这别人写好的一个类叫做功能啊,叫做功能。然后它实现了我们的这个接口。Hello service ctrl加O实现了这个方法。然后它反应值呢,比如说反应值是一个二啊。那这块我们输出这个是。
02:04
其他人也好的。功能方法,工作方法写完了啊,这是个二,但是这个功能呢,并不完全满足你项目的需要,并不满足,那你可能是需要呢,把这个反问值得乘以二倍才行,才是你需要的结果,那你怎么办?这个代码现在你改不了啊,你没权限改,你改不了。但是你能用这个print怎么用,你有这个类你不就能用了吗?那现在假如说你有一个测试类。或者应类啊。在这里,你写了一个慢方法。然后这个你要用功能的话可以呀,功能。你有一个功能,然后你可以功能点你的名字,你随便起一个啊,比方说销售销售。
03:04
销售的一个报表,然后它的返回值,我们做一个整形泰的数量nu,那我来输出这个NUM,它现在肯定是一个二啊。来进行看。是。也可能是二,但现在我们说了嘛,我们需要是一个它乘二的结果,二倍的结果,那怎么办。这个类你改不了。Type的功能呢,你是可以用,但是我需要把这个结果乘以二。需要改一下功能怎么办?用代理去做看看,看看实际项目中我是这么做的啊,怎么做这个代理呢?那我们在这。你要用代理的话,可以用静态的,也可以用动态的,那么用动态给大家实现一下,如果用动态的话,首先你是不是得有一个invoc handle了呀?啊,那我叫做my in吧。
04:05
啊,然后它的实现,我们刚才那个接口啊,叫in handle了呀。选它,然后CTRL加O啊。你得实现我们这个方法呀。这个方法。它里边第一个事情,你得调用目标方法。调用目标方法,你需要执行那个print,然后得到那个二啊,把它二啊,你想。这么做才行啊,怎么办?那你就method的点呗,点紧Mo呗,目标对象一块传进来参数啊。传下目标对象,你在程序中这儿写一个object target。TT这个名字是自定义的。
05:00
通过构造把它传进来。构造放进来。然后你把它传到这儿来。它的反应值是个object re,那么这个I就是我们说那个R了呗,然后现在我需要的是翻倍的结果,需要乘以。乘以二的结果。二的结果,那怎么办?你判断,如果is不等于空,说明它有值呗,有值的话,那乘以二,先把它转成一个in t吧,Nu等于in t,然后这是res。那现在res重新等于nu乘以。乘以二啊,最后返回这个RS,那现在我只要能够调这个。
06:04
就能达到我的目的了吗?减不下来,那这个就不要了。现在我们要创建代理,创建代理的话呢,我动态代理首先得有个目标对象吗功能功能他来创建这个代理吗?所以用一个功能对象给他创建代理。
我来说两句