00:03
模板方法模式来解决豆浆制作问题,那首先呢,我们看刚才这个应用实例说法我已经介绍了,这里就不再多说,我们现在假如要制作这么几种口味的豆浆,有这么几种,我先说一下哪几种呢?比如说我们有红豆。红豆豆浆还有什么呢?花生豆浆。花生。豆浆。好啊,我们就制定这两种豆浆,其他的豆浆你们可以自己加,我就写两种就可以了,把这个意思说清楚就完了,那现在呢,我们画出这个类图来,同学们看一下,我待会儿要做的事情呢,大致是这样子的。找到我们的这个template,我画出要对应的这个类图来写一下。好,那现在呢,我们取个名字就叫邵啊,邵雅。是吧,这是豆浆嘛,Milk。Milk。好,我们来写一写。首先我先写一个抽象类。
01:01
那么这个抽象类呢?我们就取个名字叫做soya milk。豆浆。好,这里面我写几个方法,同学们看到第一个方法呢,我们就叫这个模板方法,这个模板方法我们就叫make。它是一个模板,方法里面呢,我们觉得这个豆浆的制作有这么几个流程,第一个流程来看一下,第一个呢,就是我们选材料。就select我简写啊select,待会我们再把名字写全一点,第二个流程呢,同学们,第二第一个流程是我选选原材料,选完原材料过后,是不是我们就去加这个加入我们的一些。这个添加这个那个那个调味,调味的东西就是加上我们不同的配料,然后呢,第三个流程是不是又开始浸浸泡。泡泡一段时间。好,那泡一段时间呢,我们这写个方法叫呃,SOSO。好,然后呢,最后我们把这个进行一个打浆。
02:03
打浆呢,我们叫beat。OK,简写哈,那在这个make里面呢,我们再把这几个方法都收实践,其中有一个方法我要说一下,就是添加这个。配料呢是不一样的,所以说这些方法select so,还有这个bit呢,我们就是实现的方法,而这个爱的方法是一个抽象方法。OK,我把这个写一下。在这里呢,我们要说一下,爱的是添加我们的什么呀,配料的。这个方法是是抽象的方法,因为因为不同的这个豆浆配料不一样,所以说把它做成抽象的,因为因为不同的豆浆。豆浆配料配料不同。因此,因此做成一个抽象方法。好,大家大致明白这个道理哈,大致明白这个道理。好,那现在呢,我们把它选中,下面我们有几种豆浆呢,我们把来实现一下就可以了,来首先我们有红豆豆那个黑豆豆浆,来写一个black。
03:08
B。好吧,So。简写。里边呢,肯定会去重写,哪个呢?爱的方法,这是一个豆浆,还有一个花生豆浆,我们也写下peanut。PE花生怎么写的拼?Saw雅是不是米?OK,我们让这两种比较特别的豆浆干什么呀?去继承它就可以了。那这个做完了以后,我们是不是有一个客户端去调去使用他们呀,所以说我还有个客户端。那这个客户端。怎么去调用呢?显然这个客户端肯定会去要制作豆浆,我肯定是需要怎么样。比如说我要做黑豆浆。黑黑豆豆浆我要用它,那用完以后呢,我把这一个返回的实例返回给拿到,拿到过后我我以这个saw milk抽象类去接收,然后调make方法就可以了,所以说这边我也会依赖到他。
04:13
就可以了。好,同学们,思路咱们就有了,那下面呢,用代码给大家走一遍即可,走一下,首先我们先建这一个。抽象的豆浆类。没有说呀。它是一个抽象的,把抽象关键字勾上。那跟着我的思路走。好,这是一个豆浆抽箱类。抽象类表示豆浆。好的。那现在呢,我们先写这个模板方法,模板方法刚才老师已经说清楚了,就叫make。好,一般来讲这个模板方法呢,我们把它做成一个final类型的模板方法,可以做成final。
05:00
啊,干什么呢,防止不允许啊,这样写,不,不让我们的子类去什么呀,覆盖。是这样做,同学们,好的,那现在我们把这个流程定好,Final。If I final没问题,Avoid make。对不对。Final,那现在这个流程我们把它写好,待会几个步骤刚才已经说说好了,第一个是选材料的。选材料,选材料我简写的啊,Void select。Select就就写个select就完事,好吧,大家知道这个意思就行了。我们选什么材料呢?我们第一步第一步。选择好的好的这个新鲜。新鲜的豆浆。对不对,黄豆吧,黄豆。黄豆。这是我们的原料,第二步我们是不是要加一些它的这个。啊配料啊,比如说我们是添加不同的。
06:02
这个配料。这个呢,我们把它做成一个抽象方法,因为我不知道你做的是什么豆浆,那么写一个abstract。Void,好,我们写叫I。Con,好像这个配料是con condem condim condiences啊,好像是Dis,大家看看这个是不是配料就是condis。好,就就这样写吧,Con,那这样写完了过后呢,这个方法因为我要把做成抽象的,所以说我就不吃实验了,那这写一下子类。子类具体实现。明白,好,紧接着我们还有一个方法,就是刚才所说的浸泡。就是庆。跑。啊,浸泡浸泡一段时间,那写一个void。说。那劲爆呢,我们写写写一个提示信息好不好,就说第三步,这是第几步呢?第三步第三步。
07:00
第三步。第三步干什么呢?我们是黄豆。哎,黄豆和配料。黄豆和配料干什么呢?开始浸泡。呃,这个浸泡二泡浸泡浸泡一段时间啊,比如说我们需要三个小时。三小时啊,假定我们定的是三个小时,浸泡三个小时。好的,那浸泡完了过后,是不是我们就可以到豆浆机去打了?现在我写个贸易的方法。Void,当然bit方法没题吧,同学们,那这地方我们就提示一句话了,其实怎样一句话呢?我们就说第四步。第四步。好第四步,那第四步我们要诶。第四步。第四步呢,我们就说黄豆和配料放到豆浆机去打,就黄豆。黄豆和配料放到豆浆机,豆浆机,诶,这个豆浆机去打碎。
08:08
打碎。是吧,然后我们就得到了豆浆,这些方法呢,你也可以做成私有的。对,这些方法你也可以做成石油的好,因为这些我们认为选料,还有这个浸泡,还有我们的打豆浆呢,这个步骤一样,所以说就可以做成石油,那我再怎么调呢,同学们看。我们。把这个流程给定下来,我们首先第一个步骤是选料。其实这个就相当于是个算法了,然后呢,我们加我们的原料艾。我们的原材,呃,这个配料,然后呢,浸泡。对,浸泡完了过后我们打浆。好,这个大体的流程就写完了。那我们最重要的这一个福利写完了过后,我们再写红豆豆浆和花生豆浆来写一下。
09:02
在这里我们新建两个类。第一个类就是刚才我们写的红豆,写一个啊,Read红豆。并。什么呀,说呀。Milk。是这样写的吧。好,我们让这个类呢去继承。继承一下我们这个so milk。这里边呢,我们要去实现,或者要把这个方法给实现了,那么就是我们下一句话就行了,加入的是什么呢?加入上好的红豆。配料是加入上好的上好的红豆。好,可以了,作为配料。那紧接着我们还有一个类,就是peanut so雅milk,就是我们的花生豆浆。拼那然后什么呀,So。没有对吧,同学们好的。
10:01
那花生豆浆呢,不一样的,就是它的配料哈,是加入上好的花生。我们加上这个说M。同样我们也要去把那个方法给实现了,那现在呢,我们写上这句话。直接写哈,那这边写要做是加入。对,加入上好的花生。花生。花生。好,同学们,那现在就写好了,写好给我们,我们就可以用了,来客端调用一下,写一个类climb。把主方法勾上。那么我们怎么来去除豆浆呢?非常简单。首先。根据我们前面的分析,我们现在说制作,比如说我们现在要制作红豆豆浆。红豆这个豆浆。豆浆。好,现在呢,我们先来这样子说啊,提示一句话。
11:00
System,所以说我写一句话就说制作红豆豆浆。制作红豆豆浆没问题,同学们。那现在呢,我们怎么来做呢?首先我们先去六一个read。对吧,并所有。得到了,得到以后呢,我们红豆豆浆其实是属于豆浆的,因为它是它的子类,所以说我们这用烧milk来接收没问题,然后呢,用它来点一下make就可以了。是不是就就完事了,紧接着假如我们还要制作花生豆浆,那现在呢,把这个改成花生。花生。OK,那花生豆浆这边创建的就不一样了,我们把它换一个名字对不对,这边不要了,又一个pen。同样得到。一个豆浆。好的,那现在我们仍然用它的抽象类来接收啊,就是这个so milk来接收这个pena的so milk的实例,那现在调用就so milk。
12:03
好,这样就这样子啊,但是这个名字这样取的不好,干脆写具体一点,Panda sorry make,好,同学们,我们来运行一下,看看整体效果怎么样。实际上我们可以看到。如果说我们制作的是红豆豆浆,第一步呢,我们加入新鲜的红豆,然后加入上好的红豆。呃,这个黄豆我要红豆豆浆嘛,所以加一些红红豆进去,然后呢,开始浸泡三小时,黄豆和配料打浆。我们制作花生豆浆一样的。第一步先。创呃,选择好新鲜的黄豆,加入上好的花生第三步。也是劲爆第四步,所以说你在这个地方呢,其实你可以把你的一些共用的部分全部提到我们这个地方去写。包括呃,包括你需要的一些方法都可以写,比如说我们去计算一段代码执行的时间,我们可以把执行时间在这打印出来,然后这边执行完了过后呢,再把执行过后的时间打印出来,这就完事了,所以这个方法其实还是用的比较多的,同学们。
13:10
应该说还是用的比较多的好,同学们,那关于我们用模板方法模式来解决豆浆制作问题呢,就给大家聊到这里,应该说还是很好理解的,对不对,还是比较理好理解的,来接全段视频。
我来说两句