设计模式-build模式

build也是我们很常用的设计模式,他的主要应用场景是创建对象并对对象赋值,有的同学可能说我直接创建一个对象,用set方法也能对对象赋值。那么build模式和对象set方法的区别是什么呢,我们先来看看bulid模式的实现

public class Student {

    private String name;

    private String age;

    private String school;

    private String grade;


    public static class Builder{

        private Student student;
        public Builder() {
            student = new Student();
        }

        public Builder setName(String name){
            student.name = name;
            return this;
        }

        public Builder setAge(String age){
            student.age = age;
            return this;
        }

        public Builder setSchool(String school){
            student.school = school;
            return this;
        }

        public Builder setGrade(String grade){
            student.grade = grade;
            return this;
        }

        public Student bulid(){
            return student;
        }

    }


}

调用时用如下方法调用

Student.Builder builder = new Student.Builder()
					.setAge("11")
					.setName("小明")
					.setSchool("希望小学")
					.setGrade("99");
			Student student = builder.bulid();

这只是build模式的一种写法,此种写法和用对象的set方法赋值的最大不同就是,此对象一旦调用build方法创建后不能,student的属性值就不变,因为student属性都是私有的且没有set方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值