资讯专栏INFORMATION COLUMN

设计模式之策略模式

yacheng / 1528人阅读

摘要:策略模式即设计不同的策略应用于不同的实现上。代码实现如下动物让和组合起来可调用方法来给每种不同的动物加不同的行为让行为动起来各种动物的实现行为接口定义各种行为汪汪。。。。

策略模式即设计不同的策略应用于不同的实现上。

代码实现如下:

</>复制代码

  1. //动物
  2. public abstract class Animal
  3. {
  4. private Behavior behavior;//让animal和behavior组合起来
  5. //可调用set方法来给每种不同的动物加不同的行为
  6. public void setBehavior(Behavior behavior){
  7. this.behavior = behavior;
  8. }
  9. public void talk(){
  10. behavior.speak();//让行为动起来
  11. }
  12. }
  13. //各种动物的实现
  14. class Dog extends Animal{}
  15. class Cat extends Animal{}
  16. class Fog extends Animal{}
  17. class Ox extends Animal{}
  18. //行为接口
  19. public interface Behavior{
  20. void speak();
  21. }
  22. //定义各种行为
  23. class DogSpeaking implements Behavior
  24. {
  25. public void speak(){
  26. System.out.println("汪汪。。。。");
  27. }
  28. }
  29. class CatSpeaking implements Behavior
  30. {
  31. public void speak(){
  32. System.out.println("喵喵。。。。");
  33. }
  34. }
  35. class FogSpeaking implements Behavior
  36. {
  37. public void speak(){
  38. System.out.println("呱呱。。。。");
  39. }
  40. }
  41. class OxSpeaking implements Behavior
  42. {
  43. public void speak(){
  44. System.out.println("哞哞。。。。");
  45. }
  46. }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71251.html

相关文章

  • PHP面试常考设计模式——策略模式

    摘要:策略模式介绍策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。使用策略模式的好处策略模式提供了管理相关的算法族的办法。使用策略模式可以避免使用多重条件转移语句。 你好,是我琉忆,PHP程序员面试笔试系列图书的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面试常考之设计模式——工...

    Drinkey 评论0 收藏0
  • JavaScript设计模式策略模式

    摘要:设计模式与开发实践读书笔记。策略模式可以有效避免多重条件选择语句。当然,策略模式也有一些缺点增加了许多策略类或者策略对象。要使用策略模式,必须了解所有的,违反了最少知识原则。至此,回家咯附设计模式之发布订阅模式观察者模式 《JavaScript设计模式与开发实践》读书笔记。这本书挺好的,推荐。 俗话说,条条大路通罗马。在现实生活中,我们可以采用很多方法实现同一个目标。比如我们先定个小目...

    go4it 评论0 收藏0
  • 设计模式策略模式

    摘要:一定义定义维基百科策略模式作爲一種軟件設計模式,指對象有某個行爲,但是在不同的場景中,該行爲有不同的實現算法。二策略模式图我们看看策略模式是有怎样设计结构的。如中创建线程池,线程池任务满时,对提交的任务做处理就使用了策略模式。以前完整的看过《大话设计模式》,虽然完整看过,也做过笔记,但现在依然很多已经很模糊。这段时间趁着离职,有时间,打算重新过一遍,该篇将介绍策略模式。一、定义定义(维基百科...

    番茄西红柿 评论0 收藏0
  • 设计模式策略模式

    摘要:一定义定义维基百科策略模式作爲一種軟件設計模式,指對象有某個行爲,但是在不同的場景中,該行爲有不同的實現算法。二策略模式图我们看看策略模式是有怎样设计结构的。如中创建线程池,线程池任务满时,对提交的任务做处理就使用了策略模式。以前完整的看过《大话设计模式》,虽然完整看过,也做过笔记,但现在依然很多已经很模糊。这段时间趁着离职,有时间,打算重新过一遍,该篇将介绍策略模式。一、定义定义(维基百科...

    番茄西红柿 评论0 收藏0
  • 设计模式策略模式

    摘要:一定义定义维基百科策略模式作爲一種軟件設計模式,指對象有某個行爲,但是在不同的場景中,該行爲有不同的實現算法。二策略模式图我们看看策略模式是有怎样设计结构的。如中创建线程池,线程池任务满时,对提交的任务做处理就使用了策略模式。以前完整的看过《大话设计模式》,虽然完整看过,也做过笔记,但现在依然很多已经很模糊。这段时间趁着离职,有时间,打算重新过一遍,该篇将介绍策略模式。一、定义定义(维基百科...

    MangoGoing 评论0 收藏0

发表评论

0条评论

yacheng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<