要求有一个ComputerTotalSales接口,该接口有一个方法:
public double totalSalesByYear()
有三个实现该接口的类:Television,Computer和Mobile。这三个类通过实现接口ComputerTotalSales给出自己的年销售额。
有一个Shop类,该类用ComputerTotalSales数组作为成员国,ComputerTotalSales数组的单元可以存放Television对象的引用,Computer对象的引用或Mobile对象的引用。程序能输出Shop对象的年销售额。
5.2.3程序效果示例
商店年销售额:2500022.***********
5.2.4 程序模版
按模板要求,将【代码1】~【代码4】替换为Java程序代码。
//HappySale.java
interface ComputeTotalSales
{
public double totalSalesByYear( );
}
class Television implements ComputeTotalSales
{
【代码1】 // 实现totalSalesByYear( )方法
}
class Computer implements ComputeTotalSales
{
【代码2】 // 实现totalSalesByYear( )方法
}
class Mobile implements ComputeTotalSales
{
【代码3】 // 实现totalSalesByYear( )方法
}
class Shop
{
ComputeTotalSales[ ] goods;
double totalSales=0;
Shop(ComputeTotalSales[ ] goods)
{
this.goods=goods;
}
public double giveTotalSales( )
{
totalSales=0;
【代码4】 // 计算totalSales
return totalSales;
}
}
public class HappySale
{
public static void main(String args[ ])
{
ComputeTotalSales[ ] goods=new ComputeTotalSales[50];
for(int i=0;i<goods.length;i++)
{
if(i%3==0)
goods[i]=new Television( );
else if(i%3==1)
goods[i]=new Computer( );
else if(i%3==2)
goods[i]=new Mobile( );
}
Shop shop=new Shop(goods);
System.out.println("商店年销售额:"+shop.giveTotalSales( ) );
}
}
參考答案:1
public double totalSalesByYear( ){ return 1234.567;}
2
public double totalSalesByYear( ){ return 12345.678;}
3
public double totalSalesByYear( ){ return 123456.789;}
4
for(int i=0; i<goods.length;i++)
totalSales += goods[i].totalSalesByYear();