日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

创建者模式 builder

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建者模式 builder 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package mode.bulider;/*** * 首先是汽車,組成零件有:玻璃、輪胎、發動機;他們都是抽象的概念,所以用抽象類來創建* * */ public class Car {Glass glass;Wheel wheel;Engine engine; }



package mode.bulider; /*** * 抽象的玻璃* * */ public abstract class Glass {}


下面是兩個具體的玻璃類

package mode.bulider;public class AmericanGlass extends Glass {public String toString() {return "\"American Glass\"";} }
package mode.bulider;public class JapaneseGlass extends Glass {public String toString() {return "\"Japanese Glass\"";} }


package mode.bulider; /*** * 抽象的輪胎* * */ public abstract class Wheel {}


下面是兩個具體的輪胎類

package mode.bulider;public class AmericanWheel extends Wheel {public String toString() {return "\"American Wheel\"";} }
package mode.bulider;public class JapaneseWheel extends Wheel {public String toString() {return "\"Janpanes Wheel\"";} }

package mode.bulider; /*** * 抽象的發動機* * */ public abstract class Engine {}


下面是兩個具體的發動機類


package mode.bulider;public class ChineseEngine extends Engine {public String toString() {return "\"Chinese Engine\"";} }
package mode.bulider;public class FranceEngine extends Engine {public String toString() {return "\"France Engine\"";} }
package mode.bulider;/*** * 創建一個汽車的構造器* * */ public interface CarBuilder {public void buildGlass();public void buildWheel();public void buildEngine();public Car getProduct(); }
下面是兩個具體的實現

package mode.bulider;public class CarABuilder implements CarBuilder {private Car product = null;public CarABuilder() {product = new Car();}@Overridepublic void buildGlass() {product.glass = new AmericanGlass();}@Overridepublic void buildWheel() {product.wheel = new AmericanWheel();}@Overridepublic void buildEngine() {product.engine = new ChineseEngine();}@Overridepublic Car getProduct() {buildGlass();buildEngine();buildWheel();return product;}}
package mode.bulider;public class CarBBuilder implements CarBuilder {private Car product;public CarBBuilder() {product = new Car();}@Overridepublic void buildGlass() {product.glass = new JapaneseGlass();}@Overridepublic void buildWheel() {product.wheel = new JapaneseWheel();}@Overridepublic void buildEngine() {product.engine = new FranceEngine();}@Overridepublic Car getProduct() {buildEngine();buildGlass();buildWheel();return product;}}
package mode.bulider;/*** * 構造器引導措施* * */ public class Director {private CarBuilder builder;public Director(CarBuilder builder) {this.builder = builder;}public Car Construct() {return builder.getProduct();} }

測試

package mode.bulider;public class Test {public static void main(String[] args) {Director d1 = new Director(new CarABuilder());Director d2 = new Director(new CarBBuilder());d1.Construct();d2.Construct();} }


總結

以上是生活随笔為你收集整理的创建者模式 builder的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。