工厂接口
首先定义一个视频工厂抽象类
public abstract class VideoFactory {
public abstract Video getVideo(); //获取视频抽象方法
}
视频接口
定义一个视频抽象类
public abstract class Video {
public abstract void produce(); //生产视频方法
}
Java视频工厂类
继承VideoFactory抽象类,实现其方法
public class JavaVideoFactory extends VideoFactory{
@Override
public Video getVideo() {
return new JavaVideo();
}
}
Java视频类
继承Video抽象类,实现其方法
public class JavaVideo extends Video {
@Override
public void produce() {
System.out.println("录制Java视频");
}
}
Python视频工厂类
继承VideoFactory抽象类,实现其方法
public class PythonVideoFactory extends VideoFactory {
@Override
public Video getVideo() {
return new PythonVideo();
}
}
Python视频类
继承Video抽象类,实现其方法
public class PythonVideo extends Video {
@Override
public void produce() {
System.out.println("录制Python视频...");
}
}
测试类
public class Test {
public static void main(String[] args) {
//Java视频
VideoFactory javaVideoFactory = new JavaVideoFactory();
Video java = javaVideoFactory.getVideo();
java.produce(); //打印方法
//Python视频
PythonVideoFactory pythonFactory= new PythonVideoFactory();
Video python= pythonFactory.getVideo();
python.produce();//打印方法
}
}