zoukankan      html  css  js  c++  java
  • 设计模式 工厂方法模式

    工厂方法模式只能处理同一个产品等级下的对象

    public interface Human {
      public void getSound();
      public void getColor();
    }

    public class BlackHuman implements Human {
      @Override
      public void getSound() {
        System.out.println("黑人的肤色是黑的");
      }
      @Override
      public void getColor() {
        System.out.println("黑人喜欢黑色");
      }
    }

    public class WhiteHuman implements Human {
      @Override
      public void getSound() {
        System.out.println("白人说英语");
      }
      @Override
      public void getColor() {
        System.out.println("白人的肤色一般是白色的");
      }
    }

    public class YellowHuman implements Human {
      @Override
      public void getSound() {
        System.out.println("黄种人的肤色一般是黄色的");
      }
      @Override
      public void getColor() {
        System.out.println("黄种人一般说汉语");
      }
    }

    public abstract class MethodFac {
      public static void getAction(Human human){
        human.getColor();
        human.getSound();
      }
      public abstract Human humanFac();

      public static void main(String[] args) {
        getAction(new BlackFac().humanFac());
      }

    }

    public class BlackFac extends MethodFac {
      public Human humanFac() {
        return new BlackHuman();
      }
    }

  • 相关阅读:
    Chevy equinox
    回家线路
    salesforce account hierarchy
    IOS8 对flex兼容性问题
    Chrome FeHelper 插件下载地址
    vue 项目抛出警告
    vue 干货
    Error in mounted hook: "TypeError: handlers[i].call is not a function" 原因
    vue 路由知识点(一级路由与二级路由嵌套)
    (转)ORA-01940: cannot drop a user that is currently connected 问题解析
  • 原文地址:https://www.cnblogs.com/hwgok/p/5423878.html
Copyright © 2011-2022 走看看