题目:
请使用外观模式(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();
}
}
结果: