zoukankan      html  css  js  c++  java
  • enum枚举实现策略模式

    1 // 策略模式是为了简化if else判断
    2 String type = "dog";
    3 if(type.eques("dog")){
    4     System.out.print("汪汪汪");
    5 }else if(type.eques("cat")){
    6     System.out.print("M喵喵喵");
    7 }

    if else显得代码很不简介

    下面使用策略模式处理:

     1 public interface Animal {
     2 
     3     void bark();
     4 }
     5 ----
     6 public class Cat implements Animal {
     7     @Override
     8     public void bark() {
     9         System.out.println("喵喵喵");
    10     }
    11 }
    12 ---
    13 public class Dog implements Animal, ApplicationContextAware {
    14     private ApplicationContext applicationContext;
    15     @Override
    16     public void bark() {
    17         System.out.println("汪汪汪");
    18         Object nanhxgoodMapper = applicationContext.getBean("nanhxgoodMapper");
    19     }
    20 
    21     @Override
    22     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    23         this.applicationContext = applicationContext;
    24     }
    25 
    26 }
    27 ---
    28 public enum  StrageEnum {
    29     DOG(new Dog()),
    30     CAT(new Cat());
    31 
    32     private Animal animal;
    33 
    34     StrageEnum(Animal animal) {
    35 
    36         this.animal = animal;
    37     }
    38 
    39     public Animal getAnimal() {
    40         return animal;
    41     }
    42 
    43 
    44 }
    45 
    46 ----
    47 public static void main(String[] args) {
    48         StrageEnum.valueOf("CAT").getAnimal().bark();
    49     }
  • 相关阅读:
    sed命令
    awk命令
    let命令
    首先看一下友晶DE-SOC开发板的user manual
    嵌入式FIFO核的调用
    嵌入式ROM核的调用
    用嵌入式块RAM IP核配置一个双口RAM
    如何利用Visio设计一个系统的结构图
    uart通讯协议
    按键消抖试验及一个数码管电子时钟的设计
  • 原文地址:https://www.cnblogs.com/isnotnull/p/14177648.html
Copyright © 2011-2022 走看看