为了账号安全,请及时绑定邮箱和手机立即绑定

讲师回答 / Arthur
哈哈,考虑过。不过觉得用简单的例子来帮助大家理解更好点。毕竟那只是形式,如果遇到实际的情况能回想起我的例子,这不就说明大家掌握了吗?

讲师回答 / Arthur
哈哈,我用的是Maven。不过没关系,我的项目并没有用到Maven的任何东西。我仅仅是用了而已,你完全可以不用,建立Java project一样可以的哈。

讲师回答 / Arthur
这里你不妨继续深入一下, 考虑如下场景:通过询问的方式来决定是否加入调料。比如,通过在命令行显示“是否加入调料?(Y/N)", 等待用户的反馈。然后返回true或false。然后你会发现子类对算法的实现具有了更大的灵活性,你的子类可以应对不用的场景,用户想喝茶,是否加入调料都可以轻松满足。正所谓加或不加,茶就在那里,不多不少。总之,通过钩子函数我们合理的扩展了算法的使用场景,提升了代码弹性和可复用性,这就是我们使用模式的终极目的。

讲师回答 / Arthur
如果我没理解错的话,你说的类属性是static属性。那么结论肯定是不行的啦,类属性对所有子类都产生影响,这样程序就失去弹性了。如果是实例属性可以吗?答案是可以的,但是如果这么用说明你还没理解钩子函数的作用。通过覆写钩子函数,子类对算法的实现具有了更大的灵活性,你的子类可以应对不用的场景,提升了代码弹性和可复用性。

讲师回答 / Arthur
小伙伴,这是玩儿上了

讲师回答 / Arthur
这里的重点在于我们的子类通过覆写这个钩子函数,从而影响了算法的实现,从而为子类提供了更大的灵活性。
首页上一页12下一页尾页
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、什么是模板方法模式 2、模板方法模式如何实现 3、如何在模板方法模式中增加灵活性 4、专门行业是如何使用模板方法模式

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消