设计模式之桥梁模式10
来源:互联网 发布:ubuntu server 安装 编辑:程序博客网 时间:2024/06/06 05:55
设计模式之桥梁模式10
背景
假如某老板有一房地产公司公司,专门卖房赚钱。另外最近ipod,衣服等赚钱,老板想开个专门山寨的各种公司。但是,老板只关注赚钱。具体的生产,销售,老板不管。
类图
代码实现
首先定义一个产品Product.java,可以被房地产,山寨等产品继承。
//定义一个产品public abstract class Product { //生产产品的动作 public abstract void beProduced(); //销售的动作 public abstract void beSelled();}
定义房地产产品
public class Hourse extends Product{ @Override public void beProduced() { System.out.println("hourse produced ..."); } @Override public void beSelled() { System.out.println("hourse selled ..."); }}
定义一些山寨的产品
public class Ipod extends Product{ @Override public void beProduced() { System.out.println("ipod produced ..."); } @Override public void beSelled() { System.out.println("ipod selled ..."); }}
public class Clothes extends Product{ @Override public void beProduced() { System.out.println("clothes produced ..."); } @Override public void beSelled() { System.out.println("clothes selled ..."); }}
定义一个抽象的公司
//定义一个抽象公司public abstract class Corp { //这 个公司拥有的产品是什么 private Product product; //初始化公司 public Corp(Product product){ this.product = product; } //公司赚钱的方式 public void makeMoney() { this.product.beProduced(); this.product.beSelled(); }}
房地产公司
public class HourceCorp extends Corp{ public HourceCorp(Hourse hourse) { super(hourse); } public void makeMoney() { super.makeMoney(); System.out.println("hourse make much money."); }}
山寨公司
public class CopyCorp extends Corp{ public CopyCorp(Product product) { super(product); } public void makeMoney() { super.makeMoney(); System.out.println("copy make less money."); }}
老板调用查看自己公司赚钱的情况
public class Client { public static void main(String[] args) { //老板主要业务,房地产公司 HourceCorp hourseCorp = new HourceCorp(new Hourse()); hourseCorp.makeMoney(); System.out.println(); //山寨公司-卖衣服 CopyCorp copyCorp = new CopyCorp(new Clothes()); copyCorp.makeMoney(); System.out.println(); //山寨公司-卖ipod copyCorp = new CopyCorp(new Ipod()); copyCorp.makeMoney(); }}
运行情况是这样的。
hourse produced ...hourse selled ...hourse make much money.clothes produced ...clothes selled ...copy make less money.ipod produced ...ipod selled ...copy make less money.
0 0
- 设计模式之桥梁模式10
- 设计模式之-桥梁模式
- 设计模式之桥梁模式
- 设计模式之桥梁模式
- 设计模式之桥梁模式
- 设计模式之桥梁模式
- 设计模式之桥梁模式
- java设计模式之桥梁
- java设计模式之桥梁模式(10)
- 二十三 设计模式之桥梁模式
- 【设计模式】之 Bridge 桥梁模式
- java设计模式之桥梁模式
- Java设计模式笔记之桥梁模式
- Java设计模式泛型化之桥梁模式
- 设计模式之Bridge(桥梁)模式
- Swift设计模式之桥梁模式
- 设计模式之桥梁模式--- Pattern Bridge
- java设计模式之桥梁模式
- 2016-09-23课后练习
- 字符串输出的几种情况 关于内存问题
- Ehcache 使用说明
- Android网络的工具类
- VS2008中添加程序启动时显示图片功能方法
- 设计模式之桥梁模式10
- Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be fo
- LeetCode(240)Search a 2D Matrix II
- 初次见面请多多关照
- 第一次遇见博客
- 大一总结
- C和指针读书笔记(第四章)
- 定位加地图代码和布局
- Pycharm及python安装详细教程