zoukankan      html  css  js  c++  java
  • java设计模式之简单工厂模式

    简单工厂:

    简单工厂的优点:

    1.去除客户端与具体产品的耦合,在客户端与具体的产品中增加一个工厂类,增加客户端与工厂类的耦合

    2.封装工厂类,实现代码平台的复用性,创建对象的过程被封装成工厂类,可以多平台调用这个工厂

    简单工厂的缺点:

    1.增加新功能的时候,需要修改case代码块,违反了ocp原则(开放—封闭原则)

    2.增加客户端和工厂类的耦合

    父类:

    public abstract class Man {
    	public abstract void Say();
    }
    

      

    子类(学生类):

    public class Student extends Man{
    
    	@Override
    	public void Say() {
    		System.out.println("student");
    		
    	}
    

      

    子类(超人类):

    public class SuperMan extends Man{
    
    	@Override
    	public void Say() {
    		System.out.println("SuperMna");
    		
    	}
    

      

    工厂类:通过type和switch来判断父类类型指向那个相应的子类,从而子类重写相应的父类方法

    public class Gc {
    	public Man getMan(String type) {
    		Man man = null;
    		switch (type) {
    		case "学生":
    			man = new Student();
    			break;
    		case "超人":
    			man = new SuperMan();
    			break;
    		}
    		return man;
    
    	}
    

      

    Test类:

    public class Test {
    
    	public static void main(String[] args) {
    		Gc gc=new Gc();
    		Man man=gc.getMan("学生");
    		man.Say();
    		Man man1=gc.getMan("超人");
    		man.Say();
    	}
    

      

  • 相关阅读:
    WPF多路绑定
    ConfigurationManager
    开发小技巧1——Logger
    C#对json数据的解析
    Process类
    JS获取访客IP+判断归属地+自动跳转
    织梦默认编辑器换成kindEditor实操教程
    linux中添加环境变量(python为例)
    原生javascript实现省市区三级联动
    kali安装火狐浏览器
  • 原文地址:https://www.cnblogs.com/wyd12138/p/6013523.html
Copyright © 2011-2022 走看看