日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

创建者模式 builder

發布時間:2025/3/15 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建者模式 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的全部內容,希望文章能夠幫你解決所遇到的問題。

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