工厂方法模式(创建型)
主要解决:主要解决接口选择的问题。
public abstract class Video { public abstract void produce(); }
public class JavaVideo extends Video { @Override public void produce() { System.out.println("录制Java课程视频"); } }
public class PythonVideo extends Video { @Override public void produce() { System.out.println("录制Python课程视频"); } }
public abstract class VideoFactory { public abstract Video getVideo(); }
public class JavaVideoFactory extends VideoFactory { @Override public Video getVideo() { return new JavaVideo(); } }
public class PythonVideoFactory extends VideoFactory { @Override public Video getVideo() { return new PythonVideo(); } }
public class Test { public static void main(String[] args) { VideoFactory videoFactory = new PythonVideoFactory(); VideoFactory videoFactory2 = new JavaVideoFactory(); Video video = videoFactory.getVideo(); video.produce(); } }
原文:https://www.cnblogs.com/woodpecker-z/p/14649769.html