空客(airbus)、波音(boeing)和麥道(mcdonnell-douglas)都是飛機製造商,它們都生產載客飛機(passenger plane)和載貨飛機(cargo plane)。現需要設計乙個系統,描述這些飛機製造商以及它們所製造的飛機種類。繪製類圖並程式設計模擬實現。
類圖:
實現**:
抽象類productor
:package bridgepattern;
public abstract class productor {
protected plane plane;
public void setplane(plane plane) {
this.plane = plane;
public abstract void product();
擴充抽象類airbuspro
:package bridgepattern;
public class airbuspro extends productor {
@override
public void product() {
system.out.println("airbus compary");
plane.createplane();
擴充抽象類mcdonnellpro
:package bridgepattern;
public class mcdonnellpro extends productor {
@override
public void product() {
system.out.println("mcdonnell company");
plane.createplane();
擴充抽象類boeingpro
:package bridgepattern;
public class boeingpro extends productor {
@override
public void product() {
system.out.println("boeing company");
plane.createplane();
實現類介面plane
:package bridgepattern;
public inte***ce plane {
public void createplane();
具體實現類passengerplane ;
package bridgepattern;
public class passengerplane implements plane {
@override
public void createplane() {
system.out.println("bulid a passengerplane");
具體實現類cargoplane ;
package bridgepattern;
public class cargoplane implements plane {
@override
public void createplane() {
system.out.println("build a cargoplane");
客戶端類client
(沒使用配置檔案)
:package bridgepattern;
public class client {
public static void main(string args) {
productor productor;
cargoplane cargoplane = new cargoplane();
// passengerplane paplane =new passengerplane();
productor = new airbuspro();
productor.setplane(cargoplane);
productor.product();
設計模式 橋接模式
橋接模式 多維 如車行駛在路上。車分各種品牌 各種型號各種排氣 道路分街道 告訴 山地等 駕駛員分男女 為了減少類的數量。如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大 package com.cn.duduyu.bridgepattern.car public abstract class...
設計模式 橋接模式
設計模式 橋接模式 橋接模式 bridge pattern 對應英文名稱可以是bridge或者bradge任意一種都可以。在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外...
設計模式 橋接模式
橋接模式 用來解決多維度變化問題,一般適用於解決乙個物件有多個屬性同時變化,通過橋接的方式使多種屬性變化解耦,場景 1.畫筆 大小有大中小三種,每種對應5種不同的顏色 這裡的變化屬性為大小 顏色 詳解 抽象類 abstraction 定義抽象類的介面,維護乙個指向implementor型別物件的指標...