程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 輕松控制Java橋接形式

輕松控制Java橋接形式

編輯:關於JAVA

輕松控制Java橋接形式。本站提示廣大學習愛好者:(輕松控制Java橋接形式)文章只能為提供參考,不一定能成為您想要的結果。以下是輕松控制Java橋接形式正文


界說:將籠統部門與完成部門分別,使它們都可以自力的變更。

特色:橋接形式基於類的最小設計准繩,經由過程應用封裝,聚合和繼續等行動來讓分歧的類承當分歧的義務。它的重要特色是把籠統(abstraction)與行動完成(implementation)分別開來,從而可以堅持各部門的自力性和應對它們的功效擴大。

企業級開辟和經常使用框架中的運用:多繼續的構造

只是從界說懂得橋接形式,很難理清它的感化,上面舉個例子來講明:

電腦城賣電腦,電腦品種分了平板電腦,筆記本電腦,台式電腦;電腦品牌又分了聯想,戴爾,華碩,神州。假如從多繼續的角度建類,則須要先建一個電腦籠統類,然後平板電腦、筆記本電腦、台式電腦分離繼續籠統電腦類,分歧的電腦品牌又要分離繼續這些電腦分類的類,然後完成辦法,如許,假如要添加一個電腦品種則分歧的電腦品牌還要分離繼續該類,或許添加一個電腦品牌,則又要分離繼續分歧的分類,如許就是創立變得龐雜化。

而橋接形式的思惟就是從分歧的維度完成,經由過程進步耦合度的方法來削減開辟任務量,好比下面的電腦分類和電腦品牌分類分屬於兩個維度,假如我們從兩個維度分離完成,如許我們可以削減開辟龐雜度,這就是Java開辟的單一准繩。

詳細完成代碼以下:

package com.test.bridge;

interface Brand {
 public void sale();
}

class Dell implements Brand {
 public void sale() {
 System.out.println("發賣戴爾品牌電腦");
 }
}

class Lenovo implements Brand{
 public void sale() {
 System.out.println("發賣聯想品台電腦");
 }
}

class Computer {
 protected Brand brand;
 public Computer(Brand b) {
 this.brand = b;
 }
 public void sale() {
 brand.sale();
 }
}

class Desktop extends Computer{

 public Desktop(Brand b) {
 super(b);
 }
 @Override
 public void sale() {
 super.sale();
 System.out.println("電腦類型為台式電腦");
 }
}

class Laptop extends Computer{

 public Laptop(Brand b) {
 super(b);
 }
 public void sale() {
 super.sale();
 System.out.println("電腦類型為筆記本");
 }
}

class Pad extends Computer{

 public Pad(Brand b) {
 super(b);
 }
 @Override
 public void sale() {
 super.sale();
 System.out.println("電腦類型為平板電腦");
 }
}

public class Demo {
 public static void main(String[] args) {
 //發賣聯想筆記本
 Brand b = new Lenovo();
 Computer c = new Laptop(b);
 c.sale();
 
 //發賣dell台式機
 Brand b1 = new Dell();
 Computer c1 = new Desktop(b1);
 c1.sale();
 }
}

經由過程下面的例子我們看出,我們將品牌(Brand)以對象的情勢放到電腦分類的類外面,如許就有用的下降了電腦的龐雜度,並且是幾何下降,並且分兩個偏向完成,還讓我們的思緒加倍清楚。

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved