接口用法总结
①通过接口可以实现不相关的=类的相同行为,而不需要考虑这些类之间的层次关系
②通过接口可以指明多个类需要实现的方法,一般用于定义对象的扩张功能
③接口主要用来定义规范,解除耦合关系
工厂方法:
定义一个用于创建对象的接口,让子类决定实例化哪一个类,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("老是改作业"); } }
输出结果:
学生写作业
老是改作业