设计模式-工厂方法模式

 工厂方法模式(创建型)

主要解决:主要解决接口选择的问题。

JAVA应用:java.util.Collection

     java.net.URLStreamHandlerFactory

       org.slf4j.ILoggerFactory

 

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();
    }
}

 

posted @ 2021-04-12 20:03  JAVA劝退师-H  阅读(43)  评论(0)    收藏  举报