设计模式(java版)——创建型——建造者模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37776094/article/details/89633505

项目源码已提交github:https://github.com/ckl001/designPattem_java

package com.Ljava.design.pattem.creational.builder;

/**
 * @Auther 20173
 * @Date 2019-4-9 10:01
 * @Des 课程 -- 建造者
 *  链式操作
 **/
public class Course {

    private String courseName;
    private String coursePPT;
    private String courseVideo;
    private String courseArticle;
    private String courseQA;

    //构建建造者
    public Course(CourseBuilder courseBuilder) {
        this.courseName = courseName;
        this.coursePPT = coursePPT;
        this.courseVideo = courseVideo;
        this.courseArticle = courseArticle;
        this.courseQA = courseQA;
    }

    @Override
    public String toString() {
        return "Course{" +
                "courseName='" + courseName + '\'' +
                ", coursePPT='" + coursePPT + '\'' +
                ", courseVideo='" + courseVideo + '\'' +
                ", courseArticle='" + courseArticle + '\'' +
                ", courseQA='" + courseQA + '\'' +
                '}';
    }

    //建造者
    public static class CourseBuilder{
        private String courseName;
        private String coursePPT;
        private String courseVideo;
        private String courseArticle;
        private String courseQA;

        public CourseBuilder buildCourseName(String courseName){
            this.courseName = courseName;
            return this;
        }


        public CourseBuilder buildCoursePPT(String coursePPT) {
            this.coursePPT = coursePPT;
            return this;
        }

        public CourseBuilder buildCourseVideo(String courseVideo) {
            this.courseVideo = courseVideo;
            return this;
        }

        public CourseBuilder buildCourseArticle(String courseArticle) {
            this.courseArticle = courseArticle;
            return this;
        }

        public CourseBuilder buildCourseQA(String courseQA) {
            this.courseQA = courseQA;
            return this;
        }

        public Course build(){
            return new Course(this);
        }

    }
}

package com.Ljava.design.pattem.creational.builder;

/**
 * @Auther 20173
 * @Date 2019-4-9 10:12
 * @Des TODO
 **/
public class Test {

    public static void main(String[] args) {
        Course course = new Course.CourseBuilder().buildCourseName("java建造者").buildCourseArticle("笔记").buildCourseQA("好嗨喔!").build();
        System.out.println(course.toString());
    }
}

猜你喜欢

转载自blog.csdn.net/m0_37776094/article/details/89633505