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();
      }
    }

  • 相关阅读:
    【扩展】1. PHP 大括号{} 的使用
    preg_replace 中修正符 e 的解析
    terminal 修改终端显示的名字
    find 命令详解
    OSI 7层结构 粗认识
    vi 全解析
    awk 学习笔记
    scp 复制远程文件 文件带空格 处理
    更新博客地址啦!!!
    ubuntu16.04安装NVIDIA驱动遇到的问题
  • 原文地址:https://www.cnblogs.com/hwgok/p/5423878.html
Copyright © 2011-2022 走看看