外观模式案例

题目:

请使用外观模式(Facade)模拟基金公司代买股票(Stock)、

国债(NationalDebt)、房地产(Realty)的实例

股票有两种,分别为高风险高收益股票和低风险低收益股票;

股票、基金、国债都有2个方法:买入(buy)和卖出(sell)

买入和卖出都用输出语句表示即可。

(比如房地产的buy函数就输出:房地产买入;房地产的sell函数就输出:房地产卖出)

基金公司为用户定制两种金融方案,分别是:

一、高风险方案:

包含高风险买入(BuyHighRiskFund)和高风险卖出(SellHighRiskFund)两方法

调用的是高风险高收益股票和房地产对应的买,卖函数。

一、低风险方案:

包含低风险买入(BuyLowRiskFund)和低风险卖出(SellLowRiskFund)两方法。

调用的是低风险低收益股票和国债对应的买,卖函数。

类图:



代码:

package Facade;

//基金公司
class Gongsi {
    private Stock stock=new Stock();    
    private NationalDebt nationalDebt=new NationalDebt();
    private Realty realty=new Realty();
//    高风险买入方案
    public void highBuy(){
        stock.highBuyStock();
        realty.buy();
    }
//    高风险买出方案    
    public void highSell(){
        stock.highSellStock();
        realty.sell();
    }
//    低风险买入方案    
    public void lowBuy(){
        stock.lowBuyStock();
        nationalDebt.buy();
    }
//    低风险买出方案    
    public void lowsSell(){
        stock.lowSellStock();
        nationalDebt.buy();
    }
    
    
}

//国债
class NationalDebt {
    public void buy(){
        System.out.println("国债买入");
    }
    
    public void sell(){
        System.out.println("国债买出");
    }
}

//房地产
class Realty {

    public void buy(){
        System.out.println("房地产买入");
    }
    
    public void sell(){
        System.out.println("房地产买出");
    }


}
//股票
 class Stock {
    //买入高风险高收益股票
        public void highBuyStock(){    
            System.out.println("买入高风险高收益股票");    
        }
        //卖出高风险高收益股票
        public void highSellStock(){
            System.out.println("卖出高风险高收益股票");    
        }
        //买入低风险高收益股票
        public void lowBuyStock(){    
            System.out.println("买入低风险高收益股票");    
        }
        //卖出低风险高收益股票
        public void lowSellStock(){
            System.out.println("卖出低风险高收益股票");    
            
            }
        

    }

public class Facade {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Gongsi gs=new Gongsi();
        System.out.println("用户告诉基金公司进行说明业务");
        //高风险买入
        System.out.println("------------高风险方案买入------------");
        gs.highBuy();
        //高风险卖出
        System.out.println("------------高风险方案卖出------------");
        gs.highSell();
        //低风险买入
        System.out.println("------------低风险方案买入------------");
        gs.lowBuy();    
        //低风险卖出
        System.out.println("------------低风险方案卖出------------");
        gs.lowsSell();
    }

}

结果:


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值