00:01
在SS下,首先来创建我们的包,Come Beijing to load。在它下面呢,我们来创建一个用来表示我们功能的,那这个包呢,我们就叫做service。在它下面我们来创建一个接口,这个接口的名字呢,我们是叫做。这个名字我叫做USB的shell销售。卖U盘啊,USB的销售这个接口。啊,它是一个接口,它就来表示我们的功能的啊,功能的是我们的厂家商家都要完成的功能。在接口中来定义一个方法。
01:00
定义方法。那定义方法,这个方法呢,我定义成一个是反之float的。名字呢,我叫shell,参数呢。这个方法呢,我们说这个参数。参数among,它是表示呢,一次购买的数量,我暂时呢,我不用它啊,暂时不用我就定一下而已啊,这个返回值是表示一个U盘的价格,我们只是模拟一下,不需要关心呢,这个方法到底应该怎么去完成这个买卖操作,我们不需要,我们只是完成呢,能买能卖就完事了。好,这是一个shell,当然在这个接口中,你可以定义多个其他的方法啊,可以定义很多个,不止一个啊,这个接口呢,就定义完成了,来表示我们能够卖U盘,卖U盘啊卖U盘。
02:15
下面我们来定义我们的厂家。我们再来新建一个类包呢,我们放在一个factory里边吧。这个厂家呢,我叫做USB king factor。金士顿它呢得需要实现这个接口USB shell。CTRL加O键实现方法,Shell。那这个是我们的叫做目标类金士顿金盾厂家厂家卖优盘吗?我们这块就简单一点就行了。我们厂家呢,一个U盘就是85啊,一个128G的U盘。
03:08
目前是85元,后期后期我们可以根据这个amount,这个amount可以实现不同的价格,例如。一次买1万个。单价是70,是80吧,一次呢买10万个,买5万个吧,买5万个呢是75。我们可以根据数量呢来调整这个价格,目前呢,不做那么麻烦,就简单一点,我就一个U盘现在就卖85,所以这我返回85元就完事了。80啊,因为我这是float吗。
04:01
我加一个F表示它是一个浮点数而已啊。那现在我这个厂家呀,卖一个U盘就85啊,我不管卖谁我都85,但是我这个厂家不接受。啊,不接受这个用户的单独购买,就说一次你买一个,你别找我,我不卖啊是这样的。那用户的话,他买一个怎么办,得有商家商家商家那我写一个包吧,这个叫商家啊商家这个包呢。第一个商家淘宝,淘宝它也需要实现USB的shell ctrl加O。实现shell方法。淘宝是一个商家。
05:00
淘宝是一个商家,他是代理金士顿啊U盘的这个销售。销售,所以他要实现我们这个接口,你得实现销售的功能。实现销售。U盘的功能,你得卖东西啊。所以要实现这个销售。那我们这个淘宝的这个商家,他要进行卖优盘。得真正的向我们的厂家去订购啊。所以我们需要在这啊。我得去声明,我们这个商家代理的这个厂家具体是谁,那在这声明一个厂家。
06:01
厂家呢,是USB。Shell factory。等于妞。USB factory。好,那我这块呢,这么定义应该没问题吧,因为我们这个。USB带过实验这个接口的吗?所以我可以定成这个接口的变量啊,我们这样吧,干脆直接一点。我就这么定义吧。这么定义啊,那这么定义的话就好理解一些了。这是我们的厂家。厂家。那现在当用户要买U盘的时候,那我应该怎么做呀?应该向这个厂家发送这个订单呗。发送订单。告诉。告诉我们厂家啊,我呢卖了优盘了,卖了优盘。
07:07
在哪卖的U盘,你厂家得发货呀?就这么一个操作吗?那我要去向这个厂家去调用shell,我们就买一个吧。买这个month啊就完事了,那用户拿一个我就向你呢去下一个订单,他返回的是一个价格price,那这个价格是什么呢?是厂家是厂家的这个价格,那当然我卖用户的时候,我不可能是这个价格吧,对不对,我不可能是说我上架是十块,我卖你还是十块吧。那需要怎么做呢?商家需要加价呀。肖,加价,那也就是我们的代理呀。
08:04
代理要增加价格啊,那price我们加一个价格吧。比方加上25块钱,这样的话呢,这25就是利润了,就是加的价格。返回rise,这个价格呢,是增加的价格。那现在你用户拿的就是这个值了,就这个了,加了25块钱的一个价格,这25呢,就是我们加的内容增加的利润。啊,那现在淘宝有了,那最后我们要去买U盘从淘宝啊。最后我们再写一个啊,叫做shop shop慢定义一个主方法打一个。那现在我们要的是你得创建这个代理的商家淘宝对象。
09:05
淘宝对象,那你创一个淘宝吧,淘宝new一个淘宝对象,然后淘宝对象点shell有我就买一个。然后是float价格,那现在我们来输出一下吧,我们说通过淘宝淘宝。淘宝的商家购买优盘单价输出这个price。执行我们的主方法。我们看你买的时候单价是一百一呀。这就是说你通过这个商家被人剥削了呗,这个商家淘宝他在帮你买,就是帮你这个或者U盘之后,他给你增加价格了,增加了25块钱吗。
10:12
那这里边儿如果你能够直接通过这个商家的话,通过商家,那么他就85,但现在这个淘宝呢,他不让你去访问到这个商家,不让你访问到这个。你只能通过这个。卖家淘宝他来完成,但是淘宝呢,就是代理呗,他加了一个价格。这不就是你原先这个厂家的出厂价不变的情况下,他是给你增加了这个,就算是增强功能,就算是增加功能,因为你不仅可以增加价格,你还以干别的嘛,你还干别的,这是增强功能。这块就属于是增强功能啊。增强功能啊。
11:00
这个factory fary。好,这样啊。叫做增强功能。这也就是说,我们的代理类。他在完成目标类方法调用后,调用后增强了功能,当然我不仅能够增加这个价格,我还能做其他事情,在这里啊,我们强调一点也是说在这个目标类的方法调用后。你做的其他功能都是增强的意思,都是增强的意思,所里不管你做什么都属于是增强。因为是。在你原有的这个功能之上,你就做别的了。做的这些我们都叫做增强,那都要增强。
12:04
通过这个淘宝。你才有这个增强的这个东西,如果你不通过这个代理是没有增强的,所以这个代理类。他在完成功能时是可以增强代码的吧,增强功能的。那我们这个淘宝呢。他的商家呀,为了吸引用户。他在你进行这个购买之后,可能是给你返券啊。我们这儿来写一个代码吧,用一个输出来表示我们的淘宝商家啊。给你呢,返那个优惠券。返一个优惠券,返一个优惠优惠券啊优惠券或者什么呢?红包啊红包这么吸引你下载购物吗?那么这也属于是功能增加呀,因为你返回优惠券,返回一个红包。
13:04
他在你这个。购买商品。额外。得到的功能吧,这都属于是增强功能啊。好,那现在我们再执行的话呢,就会看到啊,不仅呢能够买到一个U盘,而且呢,可能还返回一个优惠券或者红包啊。那这属于就是我们的功能增强,功能增强功能增强。那这个代码的流程是怎么样做的呢?你要注意看。当程序中我们来访问这个。淘宝点下的时候,淘宝点。那他应该执行的是。是方法从上往下依次执行先走,这那么这块应该是不是先执行的是目标方法的调用啊,目标类方法调用吧,那他应该执行的是。这个代码吧,这输出一下吧,这输出一下,它是目标类中的方法标用,这只用的是she,是USB con中的shell,这是目标方法。
14:19
那应该是先这个。目标方法调用,然后再进行功能的增强。干嘛在好点。好,那来看啊。执行shell方法先走这这是目标类调用了。往下加价格,再执行红包的赠送吗?这些都是我们代理类中所要完成的功能。那这个带眼类完成什么功能呢?那我们来看看这个吧。代理类。它完成的功能比带眼泪干什么呢?
我来说两句