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

    接口用法总结

                  ①通过接口可以实现不相关的=类的相同行为,而不需要考虑这些类之间的层次关系

                  ②通过接口可以指明多个类需要实现的方法,一般用于定义对象的扩张功能

                  ③接口主要用来定义规范,解除耦合关系

    工厂方法:

                   定义一个用于创建对象的接口,让子类决定实例化哪一个类,FactoryMethod使一个类的实例化延迟到其子类

    适用性:

                  当一个类不知道它所必须创建的对象的类的时候

                  当一个类希望由它的子类指定它所创建的对象的时候        

                  当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候

    工厂方法的设计模式:
    package com.aff.inter;
    
    //工厂方法的设计模式
    public class TestMethod {
        public static void main(String[] args) {
            IWorkFactory i =  new StudentWorkFactory();
            i.getWork().dowork();
            
            IWorkFactory i1 =  new TeacherWorkFactory();
            i1.getWork().dowork();
        }
    }
    
    interface IWorkFactory {
        Work getWork();
    }
    
    class TeacherWorkFactory implements IWorkFactory {
        @Override
        public Work getWork() {
            return new TeacherWork();
        }
    }
    
    class StudentWorkFactory implements IWorkFactory {
        @Override
        public Work getWork() {
            return new StudentWork();
        }
    }
    
    interface Work {
        void dowork();
    }
    
    class StudentWork implements Work {
        @Override
        public void dowork() {
            System.out.println("学生写作业");
        }
    }
    
    class TeacherWork implements Work {
        @Override
        public void dowork() {
            System.out.println("老是改作业");
        }
    }
    输出结果:

    学生写作业
    老是改作业

     
    All that work will definitely pay off
  • 相关阅读:
    3、SpringBoot+MybatisPlus整合-------代码生成器
    2、SpringBoot+MybatisPlus整合-------BaseCRUD
    1、SpringBoot+MybatisPlus整合
    11、SpringBoot------定时任务
    4、SpringBoot------邮件发送(2)
    3、SpringBoot------邮件发送(1)
    2.初识CronTrigger
    3.初识Cron表达式
    1.初识Quartz
    9、SpringBoot+Mybatis整合------动态sql
  • 原文地址:https://www.cnblogs.com/afangfang/p/12575414.html
Copyright © 2011-2022 走看看