接着上篇接着说。上篇结束的时候重新构造了Duck类,现在我们来看看橡皮鸭的类改是什么样子的吧。很简单只要继承Duck类就OK了。接下来test一下。
package test;
import Behavior.impl.FlyNoWing;
import Behavior.impl.Squeak;
import entity.RubberDuck;
/**
*
*@copyright Copyright Saptac
*@company Saptac
*@createDate 2008-7-17
*@lastModifier CB
*@lastModifyDate 2008-7-17
*@author CB
*@version 1.0
*/
public class testRubberDuck {
public static void main(String[] args)
{
RubberDuck rubberDuck = new RubberDuck();
rubberDuck.setFlyBehavior(new FlyNoWing());//加入飞的行为
rubberDuck.setHitBehavior(new Squeak());//加入叫的行为
rubberDuck.performFly();
rubberDuck.performQuack();
rubberDuck.display();
rubberDuck.swim();
}
}
run一下就得到我们要的结果。如果是其他种类的鸭子就给它们添加不同的飞和叫的行为就可以了。总结一下,书上是这么写的。
The Strategy pattern:defines a family of algorithms,encapsulates each one,and makes them interchangeable,Strategy lets the algorithm very indepentdently from clients that use it.And then remember 'has-a' is better than 'is-a'.
第一章完,下一章又会是什么模式?
分享到:
相关推荐
该项目是针对《HeadFirstDesignPatterns》设计模式书籍的Java实现源码笔记,总计包含771个文件,其中以Java源文件为主,共计711个,辅以少量C/C++语言代码和Markdown文档,旨在帮助开发者深入理解并掌握Java设计模式...
尚硅谷springboot2笔记,加了一点自己见解
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小...
狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神...
二、调整完成 在调整笔记本栏目后,用户需要点击“完成”按钮来保存更改。这一步骤将确保笔记本栏目的大小被正确地保存。 三、调整笔记列表栏目 笔记列表栏目是显示笔记列表的区域。调整笔记列表栏目的大小可以让...
基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记...
小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+...
JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2
2020谷粒商城笔记资料,谷粒商城2020文档课件笔记+源代码(基础篇+高级篇) 谷粒商城2020文档课件笔记+源代码(基础篇+高级篇) 2020谷粒商城笔记资料(基础篇+高级篇) 尚硅谷谷粒商城笔记,很全。基础篇,高级篇...
2. **词汇拓展**:笔记中会列出关键词汇,提供词义、例句及搭配,帮助学习者扩展词汇量并学会实际应用。 3. **听力训练**:笔记可能包括听力理解的策略和技巧,以及对原文对话和课文的听力练习题目,帮助提高听力...
java笔面试题1-6章 Java相关课程系列笔记之一Java学习...Java相关课程系列笔记之十三Struts2学习笔记 Java相关课程系列笔记之十四Hibernate学习笔记 Java相关课程系列笔记之十五Spring学习笔记 资源都已上传,自己下载
在热学领域,笔记可能涵盖了分子动理论、理想气体状态方程、热力学第一定律和第二定律。这部分内容将帮助学生理解热量、功、内能之间的关系,以及热力学过程的不可逆性。 电磁学是大学物理中的重点,笔记可能详细...
2、JavaSE:基础语法 3、JavaSE:流程控制 4、JavaSE:方法 5、JavaSE:数组 6、JavaSE:面向对象 7、JavaSE:异常机制 8、JavaSE:常用类 9、JavaSE:集合框架 10、JavaSE:IO流 11、JavaSE:多线程 12、JavaSE:...
二、QEMU 使用笔记 QEMU 是一个开源的虚拟机软件,可以模拟多种架构的计算机环境。高手笔记软件开发软件使用笔记中提到 QEMU 的使用笔记,包括: 1. 安装 qemu 软件包,FC7 的安装盘里已经带有 qemu,可以使用 rpm...
课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂笔记beta2课堂...
2.按照笔记本来整理笔记 3.富文本编辑笔记,可添加图片和文档类附件 4.通过缩略图来快速浏览笔记 5.通过关键词搜索定位笔记 有道云笔记 1.5 更新内容: 1.自动增量同步,附件修改即时保存; 2.关键词搜索定位...
2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SSM...
为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序...
2. **线性数据结构**:线性数据结构如数组、链表、栈和队列是学习的基础。笔记可能详细讲解了数组的连续存储和随机访问特性,链表的动态内存分配和指针操作,栈的“后进先出”(LIFO)原则,以及队列的“先进先出”...