zoukankan      html  css  js  c++  java
  • 一个简单的工厂模式(一个接口,多个实现,通过调用条件的不同,分别去调用符合的实现)

    接口:Animal.java

    package Factoryface;

    public interface Animal {
    public void eat();
    public void sport();

    }
    实现类(举例两个):Cat.java
    package Model;

    import Factoryface.Animal;

    public class Cat implements Animal {
    @Override
    public void eat() {
    System.out.println("猫喜欢吃鱼");
    }

    @Override
    public void sport() {
    System.out.println("猫很懒,不喜欢运动");
    }
    }
    Dog.java
    package Model;

    import Factoryface.Animal;

    public class Dog implements Animal {
    @Override
    public void eat() {
    System.out.println("狗喜欢啃骨头");
    }

    @Override
    public void sport() {
    System.out.println("狗喜欢运动,喜欢玩球");
    }
    }
    简单工厂:Factory1.java
    package Model;

    import Factoryface.Animal;

    public class Factory1 {
    //定义两个常量,负责与调用者交互
    public static final String CAT="cat";
    public static final String Dog="dog";
    //根据调用者传来的描述,来返回调用者所需要的实现(str就是调用者传来的参数)
    public Animal getAnimal(String str){
    if (CAT.equals(str)){
    return new Cat();
    }else if(Dog.equals(str)){
    return new Dog();
    }else{
    return null;
    }
    }
    }
    模拟调用者:FactoryTest.java
    package Test;

    import Factoryface.Animal;
    import Model.Factory1;

    //模拟调用者调用条件符合"dog"类
    public class FactoryTest {
    public static void main(String[] args){
    Factory1 factory1 = new Factory1();
    Animal animal = null;
    animal = factory1.getAnimal("dog");
    animal.eat();
    animal.sport();
    }
    }
    输出:

     
     
     


    我是代码搬运工!!!
  • 相关阅读:
    第三届NSCTF之easy ssrf
    第三届NSCTF测试题Welcome
    第三届NSCTF测试题Code php 之MD5碰撞和php strcmp函数绕过
    PUT方法提交message
    使用John the Ripper破解sha512加密的shadow文件密码
    第2章 SQL注入攻击:课时1:注入攻击原理及自己编写一个注入点
    配置IIS10支持php语言脚本
    身边的base64解码工具
    什么是JWT
    IDEA 远程调试
  • 原文地址:https://www.cnblogs.com/FanKL/p/12376289.html
Copyright © 2011-2022 走看看