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     }
  • 相关阅读:
    android:ViewPager实现Tabs滑动切换效果
    android:实现退出确认对话框
    jsp初探
    struts2获取前台数据的三种方式
    struts表单验证
    SingleTon
    读取文件中内容并统计排序
    android:TabHost总结
    java i/o
    tomcat7.0连接池配置
  • 原文地址:https://www.cnblogs.com/isnotnull/p/14177648.html
Copyright © 2011-2022 走看看