(1)思路
首先创建商品类接口,包含两个抽象方法分别是返回商品名,商品价格;Thegoods类实现Goods类;定义购物车类private int number;//商品总数static int len = 5; private Goods goods[]; //商品数组 private Double payment=0.0;定义四个成员变量,最后直接测试类调用即可获得价格
(2)代码实现
package p1;
interface Goods{
public String getName();
public double getPrice();
}
package p1;
public class TheGoods implements Goods{
private String name;
private double price;
TheGoods(String name,double price){
this.name=name;
this.price=price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
package p1;
public class ShopingCart {
private int number;//商品总数
static int len = 5;
private Goods goods[]; //商品数组
private Double payment=0.0;//总钱数
ShopingCart(){
this.goods=new Goods[len];
}
public void add(Goods goods) {
if(number>this.goods.length) {
this.goods = new Goods[this.goods.length+len];
}
this.goods[number]=goods; //将给商品数组参数goods
number++; //商品数量加一;
}
public void payment() {
for(int i=0;i<number;i++) {
payment=payment + goods[i].getPrice();
System.out.println("goodsname:"+goods[i].getName());
System.out.println("goodsprice:"+goods[i].getPrice());
}
System.out.println("本次一共花费:"+payment);
}
}
package p1;
public class TestConsumer {
public static void main(String[] args) {
Goods good;//Goods对象,为接口回调做准备
ShopingCart cart = new ShopingCart();
cart.add(new TheGoods("薯片",3));
cart.add(new TheGoods("可乐",3));
cart.add(new TheGoods("铅笔",2));
cart.add(new TheGoods("铅笔盒",10));
cart.payment();
}
}
(3)运行结果截图