zoukankan      html  css  js  c++  java
  • 枚举实现工厂模式

    package com. lee.first1200 ;
     
    public interface Car {
     
           public void sayName() ;
    }

    package com. lee.first1200 ;
     
    public class AudiCar implements Car {
     
           @Override
           public void sayName() {
                 System.out .println( "Audi");
           }
     
    }

    package com. lee.first1200 ;
     
    public class BenzCar implements Car {
     
           @Override
           public void sayName() {
                 System.out .println( "Benz");
           }
          
    }

    package com. lee.first1200 ;
     
    public enum CarFactory {
     
          BENZ {
     
                 @Override
                 public Car create() {
                       // TODO Auto-generated method stub
                       return new BenzCar() ;
                 }
     
           },
          AUDI {
     
                 @Override
                 public Car create() {
                       // TODO Auto-generated method stub
                       return new AudiCar() ;
                 }
     
           },
          BMW {
     
                 @Override
                 public Car create() {
                       // TODO Auto-generated method stub
                       return new BmwCar() ;
                 }
     
           };
     
           public abstract Car create();
     
    }

    package com. lee.first1200 ;
     
    public class CarMain {
     
           public static void main(String [] args ) {
                CarFactory .BMW. create(). sayName();
     
                CarFactory .AUDI. create(). sayName();
     
                CarFactory .BMW. create(). sayName();
           }
    }
  • 相关阅读:
    JAVA_集合_作业01
    Java_Objects_hashCode
    Java成员内部类
    Java集合练习_实现购物车需求
    Java初级_单例设计模式
    HelloWorld
    vue中视频标点
    防抖节流?俩者区别?vue如何使用防抖、节流来解决点击问题?
    keep-alive
    axios和ajax的区别
  • 原文地址:https://www.cnblogs.com/IcanFixIt/p/4753265.html
Copyright © 2011-2022 走看看