欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

建造者模式_動力節(jié)點Java學院整理-創(chuàng)新互聯(lián)

定義:將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。

泗水ssl適用于網站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

類型:創(chuàng)建類模式

類圖:

四個要素

  • 產品類:一般是一個較為復雜的對象,也就是說創(chuàng)建對象的過程比較復雜,一般會有比較多的代碼量。在本類圖中,產品類是一個具體的類,而非抽象類。實際編程中,產品類可以是由一個抽象類與它的不同實現(xiàn)組成,也可以是由多個抽象類與他們的實現(xiàn)組成。
  • 抽象建造者:引入抽象建造者的目的,是為了將建造的具體過程交與它的子類來實現(xiàn)。這樣更容易擴展。一般至少會有兩個抽象方法,一個用來建造產品,一個是用來返回產品。
  • 建造者:實現(xiàn)抽象類的所有未實現(xiàn)的方法,具體來說一般是兩項任務:組建產品;返回組建好的產品。
  • 導演類:負責調用適當?shù)慕ㄔ煺邅斫M建產品,導演類一般不與產品類發(fā)生依賴關系,與導演類直接交互的是建造者類。一般來說,導演類被用來封裝程序中易變的部分。

代碼實現(xiàn)

class Product { 
 private String name; 
 private String type; 
 public void showProduct(){ 
  System.out.println("名稱:"+name); 
  System.out.println("型號:"+type); 
 } 
 public void setName(String name) { 
  this.name = name; 
 } 
 public void setType(String type) { 
  this.type = type; 
 } 
} 
 abstract class Builder { 
 public abstract void setPart(String arg1, String arg2); 
 public abstract Product getProduct(); 
} 
class ConcreteBuilder extends Builder { 
 private Product product = new Product(); 
  
 public Product getProduct() { 
  return product; 
 } 
 public void setPart(String arg1, String arg2) { 
  product.setName(arg1); 
  product.setType(arg2); 
 } 
} 
 public class Director { 
 private Builder builder = new ConcreteBuilder(); 
 public Product getAProduct(){ 
  builder.setPart("寶馬汽車","X7"); 
  return builder.getProduct(); 
 } 
 public Product getBProduct(){ 
  builder.setPart("奧迪汽車","Q5"); 
  return builder.getProduct(); 
 } 
} 
public class Client { 
 public static void main(String[] args){ 
  Director director = new Director(); 
  Product product1 = director.getAProduct(); 
  product1.showProduct(); 
 
  Product product2 = director.getBProduct(); 
  product2.showProduct(); 
 } 
} 

本文標題:建造者模式_動力節(jié)點Java學院整理-創(chuàng)新互聯(lián)
瀏覽路徑:http://www.chinadenli.net/article16/cchcgg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號網站維護網站設計公司App開發(fā)品牌網站制作自適應網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)