`
bobo19841121
  • 浏览: 1465 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

HeadFirstDesignPatterns笔记二

 
阅读更多

接着上篇接着说。上篇结束的时候重新构造了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设计模式学习源码笔记

    该项目是针对《HeadFirstDesignPatterns》设计模式书籍的Java实现源码笔记,总计包含771个文件,其中以Java源文件为主,共计711个,辅以少量C/C++语言代码和Markdown文档,旨在帮助开发者深入理解并掌握Java设计模式...

    尚硅谷springboot2笔记

    尚硅谷springboot2笔记,加了一点自己见解

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-基于springboot的笔记记录分享网站

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...

    微信小程序 云笔记 (源码)

    微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小...

    狂神SpringBoot笔记+源码

    狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神...

    有道云笔记如何调整窗口大小?.docx

    二、调整完成 在调整笔记本栏目后,用户需要点击“完成”按钮来保存更改。这一步骤将确保笔记本栏目的大小被正确地保存。 三、调整笔记列表栏目 笔记列表栏目是显示笔记列表的区域。调整笔记列表栏目的大小可以让...

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip基于SSM框架+mysql搭建的云笔记...

    小程序源码 云笔记 (代码+截图)

    小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+...

    JAVAEE系列笔记2JAVAEE系列笔记2

    JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2JAVAEE系列笔记2

    2020谷粒商城笔记资料,文档课件笔记+源代码(基础篇+高级篇

    2020谷粒商城笔记资料,谷粒商城2020文档课件笔记+源代码(基础篇+高级篇) 谷粒商城2020文档课件笔记+源代码(基础篇+高级篇) 2020谷粒商城笔记资料(基础篇+高级篇) 尚硅谷谷粒商城笔记,很全。基础篇,高级篇...

    新东方 徐燕 新概念英语第二册 笔记(1-96)完整版

    2. **词汇拓展**:笔记中会列出关键词汇,提供词义、例句及搭配,帮助学习者扩展词汇量并学会实际应用。 3. **听力训练**:笔记可能包括听力理解的策略和技巧,以及对原文对话和课文的听力练习题目,帮助提高听力...

    Java相关课程系列笔记之九Servlet学习笔记

    java笔面试题1-6章 Java相关课程系列笔记之一Java学习...Java相关课程系列笔记之十三Struts2学习笔记 Java相关课程系列笔记之十四Hibernate学习笔记 Java相关课程系列笔记之十五Spring学习笔记 资源都已上传,自己下载

    大物上册手写笔记.pdf

    在热学领域,笔记可能涵盖了分子动理论、理想气体状态方程、热力学第一定律和第二定律。这部分内容将帮助学生理解热量、功、内能之间的关系,以及热力学过程的不可逆性。 电磁学是大学物理中的重点,笔记可能详细...

    狂神笔记,b站狂神说课程笔记大全(最新)

    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课堂笔记beta2课堂笔记beta2课堂...

    有道云笔记 (有道笔记)1.5.0.5

    2.按照笔记本来整理笔记 3.富文本编辑笔记,可添加图片和文档类附件 4.通过缩略图来快速浏览笔记 5.通过关键词搜索定位笔记 有道云笔记 1.5 更新内容: 1.自动增量同步,附件修改即时保存; 2.关键词搜索定位...

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码+项目说明.zip

    2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SSM...

    为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器

    为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序源码,实现云笔记功能需要自己搭建服务器 为知笔记开源项目程序...

    数据结构高分笔记part1

    2. **线性数据结构**:线性数据结构如数组、链表、栈和队列是学习的基础。笔记可能详细讲解了数组的连续存储和随机访问特性,链表的动态内存分配和指针操作,栈的“后进先出”(LIFO)原则,以及队列的“先进先出”...

Global site tag (gtag.js) - Google Analytics