博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 设计模式 之 建造模式
阅读量:5302 次
发布时间:2019-06-14

本文共 1728 字,大约阅读时间需要 5 分钟。

package com.builder.theory;public class TestBuilder{    public static void main(String[] args)    {        Car car=Director.construct(new ConcreteBuilder());        System.out.println(car.getHead());        System.out.println(car.getBody());        System.out.println(car.getFoot());    }}package com.builder.theory;public class Car{    private String head;    private String body;    private String foot;        public String getHead()    {        return head;    }    public void setHead(String head)    {        this.head = head;    }    public String getBody()    {        return body;    }    public void setBody(String body)    {        this.body = body;    }    public String getFoot()    {        return foot;    }    public void setFoot(String foot)    {        this.foot = foot;    }        }package com.builder.theory;public class Director{    public static Car construct(Builder builder)    {        builder.buildHead();        builder.buildBody();        builder.buildFoot();        return builder.buildPart();    }}package com.builder.theory;public interface Builder{    public void buildHead();    public void buildBody();    public void buildFoot();    public Car buildPart();}package com.builder.theory;public class ConcreteBuilder implements Builder{    Car car=null;        public ConcreteBuilder()    {        car=new Car();    }        @Override    public void buildHead()    {        car.setHead("汽车头部建造完成");            }    @Override    public void buildBody()    {        car.setBody("汽车身体建造完成");    }    @Override    public void buildFoot()    {        car.setFoot("汽车尾部建造完成");    }    @Override    public Car buildPart()    {        return car;    }}

转载于:https://www.cnblogs.com/verejava/p/9237006.html

你可能感兴趣的文章
Maven管理
查看>>
Dapper Extensions Change Schema
查看>>
C陷阱与缺陷
查看>>
javascript学习笔记(5) --数组
查看>>
git客户端工具tortoisegit
查看>>
张云飞 201771010143 《面对对象程序设计(java)》第十三周学习总结
查看>>
人体穴位
查看>>
性能学习-了解前端性能测试
查看>>
二分查找算法
查看>>
vue2.0路由写法、传参和嵌套
查看>>
NGUI Anchor三种type的不同
查看>>
[轉]Array of pointer VS. Pointer to Array
查看>>
Android开发 Tablayout的学习
查看>>
基于ArcEngine写的GoogleMap地图切割程序
查看>>
通信协议参考
查看>>
交互设计的核心要素
查看>>
【转】IE6 很邪恶,但我爱它的盒子模型
查看>>
timestamp,timedelta
查看>>
浮动闭合方案:clearfix
查看>>
LINUX下mysql的大小写是否区分设置 转
查看>>