您的位置:首页 > 其它

外观模式案例

2017-07-02 09:15 127 查看
题目:

请使用外观模式(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();

    }

}

结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: