1. 程式人生 > >java學習-抽象工程類

java學習-抽象工程類

1,先寫基類,那個純虛的類

public abstract class Article {
    public abstract void produce();
}
public abstract class Video {
    public abstract void produce();
}

2,寫虛擬工廠介面

public interface CourseFactory {
    Video getVideo();
    Article getArticle();

}

3,寫具體的實現類

public class JavaArticle extends Article {
    @Override
    public void produce() {
        System.out.println("編寫Java課程手記");
    }
}
public class JavaVideo extends Video {
    @Override
    public void produce() {
        System.out.println("錄製Java課程視訊");
    }
}

4,寫虛擬工廠介面的實現類

public class JavaCourseFactory implements CourseFactory {
    @Override
    public Video getVideo() {
        return new JavaVideo();
    }

    @Override
    public Article getArticle() {
        return new JavaArticle();
    }
}

5,寫最後的測試類

public class Test {
    public static void main(String[] args) {
        CourseFactory courseFactory = new JavaCourseFactory();
        Video video = courseFactory.getVideo();
        Article article = courseFactory.getArticle();
        video.produce();
        article.produce();
    }
}

6,總結,勉強看懂,但是不曉得啥樣的環境下,該使用這樣的方法