实现品牌类和商品类的继承关系
这里仅代表个人看法,欢迎指正
基本功能
- 确定商品属性
- 查询定价
- 输出商品信息
- 计算销售额
以下放出示例代码:
首先需要一个商品类作为父类:
package com.yyh.Project6;
public class Goods {
public String name;//商品名
public double price;//定价
protected static double profit = 0.0;//销售额
public Goods() {
this.name =null;
this.price = 0;
}//初始化
public Object getInfo() {//用来描述客户的订单信息
return "客户订单信息";
}//获取订单信息
public double getProfit() {return profit;}//获取销售额信息
public void clearProfit() {
profit = 0.0;
}//销售额清空
}
再就是需要实现继承商品类的品牌类:
package com.yyh.Project6;
//品牌为Cola的类
public class Cola extends Goods {
public Cola() {
super.name = "Cola";
super.price = 4.5;
profit += 4.5;
}
public Object getInfo() {//用来描述客户的订单信息
return new Cola();
}
}
package com.yyh.Project6;
//品牌为Sprite的类
public class Sprite extends Goods {
public Sprite() {
super.name = "Sprite";
super.price = 3.5;
profit += 3.5;
}
public Object getInfo() {//用来描述客户的订单信息
return new Sprite();
}
}
最后写个测试类测试结果:
package com.yyh.Project6;
public class Customer {
public static void main(String[] args) {
System.out.println("顾客要买Cola");
Goods g1 = new Cola();
System.out.println("配送货物:" + g1.name);
System.out.println("定价为:" + g1.price);
System.out.println("目前销售额为:" + Goods.profit);
System.out.println("顾客要买Sprite");
Goods g2 = new Sprite();
System.out.println("配送货物:" + g2.name);
System.out.println("定价为:" + g2.price);
System.out.println("目前销售额为:" + Goods.profit);
//这里用g1.profit,g2.profit结果一样因为都是指向父类的成员变量profit
//不过不推荐使用,Static member 'com.yyh.Project6.Goods.profit' accessed via instance reference
System.out.println(g1.profit);
System.out.println(g2.profit);
g2.clearProfit();
System.out.println("销售额已清空!目前销售额为:" + Goods.profit);
}
}
以下是运行结果: