其实就是创建一个抽象类,包含一些子类。如video类,包含javavideo和pythonvideo类。
然后创建一个工厂类,有一个方法,根据输入的参数,如字符串“java”,返回对应的类的对象。
好处是,仅凭一些参数就可以确定是什么对象了,比较方便
public abstract class Video {
public abstract void useVideo();
}
public class JavaVideo extends Video {
@Override
public void useVideo() {
System.out.println("Now Java Video");
}
}
public class PythonVideo extends Video{
@Override
public void useVideo() {
System.out.println("Now Python Video");
}
}
public class VideoFactory {
public static Video getVideo(String str) {
if (str.equalsIgnoreCase("java")) {
return new JavaVideo();
} else if (str.equalsIgnoreCase("python")) {
return new PythonVideo();
} else {
return null;
}
}
}
public class Test {
public static void main(String[] args) {
Video video = VideoFactory.getVideo("java");
video.useVideo();
Video video2 = VideoFactory.getVideo("python");
video2.useVideo();
}
}