定义商品类Goods,包含单价unitPrice和数量account两个属性,方法包括构造方法和价格计算方法totalPrice()。 定义接口VipPrice,包含DISCOUNT属性和reducedPrice()方法,使VIP会员享受商品价格8.5折待遇。 定义服装子类Clothing,它继承商品类Goods,并实现接口VipPrice,并有服装样式style属性、构造方法和toString方法。 编写一个测试类,创建一种服装(180,2,“女装” ),利用toString方法输出服装信息。JAVAJAVA
时间: 2024-03-06 21:46:19 浏览: 46
好的,我理解你的要求了。下面是代码实现:
```
//定义商品类Goods
public class Goods {
protected double unitPrice; //单价
protected int account; //数量
public Goods(double unitPrice, int account) {
this.unitPrice = unitPrice;
this.account = account;
}
//计算总价格
public double totalPrice() {
return unitPrice * account;
}
}
//定义VIP价格接口
public interface VipPrice {
double DISCOUNT = 0.85; //VIP会员折扣
//计算VIP价格
double reducedPrice();
}
//定义服装子类Clothing
public class Clothing extends Goods implements VipPrice {
private String style; //服装样式
public Clothing(double unitPrice, int account, String style) {
super(unitPrice, account);
this.style = style;
}
//实现VipPrice接口中的reducedPrice()方法
public double reducedPrice() {
return totalPrice() * DISCOUNT;
}
public String toString() {
return "这是一件" + style + ",单价为" + unitPrice + "元,数量为" + account + "件,总价为" + totalPrice() + "元。VIP会员可享受8.5折优惠,折后价格为" + reducedPrice() + "元。";
}
}
//测试类
public class TestClothing {
public static void main(String[] args) {
Clothing clothing = new Clothing(180, 2, "女装");
System.out.println(clothing.toString());
}
}
```
输出结果为:
```
这是一件女装,单价为180.0元,数量为2件,总价为360.0元。VIP会员可享受8.5折优惠,折后价格为306.0元。
```
希望能够帮到你!