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
  • 相关阅读:
    wss的webpart的3种开发方式(转载)
    C# 2.0学习之集合2
    对C#中的TreeView添加背景图转载
    ASP.NET 2.0: 页面中链入的CSS、js文件带中文时需注意
    C# 2.0学习之泛型
    C# 2.0学习之数组
    连接 ACCESS 2007
    C# 2.0学习之事件2
    一个P2P+搜索音乐网站的策划书(转载)
    关于MOSS的应用和开发的一些联接
  • 原文地址:https://www.cnblogs.com/afangfang/p/12575414.html
Copyright © 2011-2022 走看看