某公司要开发名为”我爱购物狂”的购物网站,请使用面向对象的思想设计描述商品信息
程序员文章站
2022-06-10 14:45:41
...
一、练习题目
编写程序描述商品信息
二、问题描述
某公司要开发名为”我爱购物狂”的购物网站,请使用面向对象的思想设计描述商品信息
三、要求:
1、分析商品类别和商品详细信息的属性和方法,设计商品类别类和商品详细信息类
2、在商品详细信息类中通过属性描述该商品所属类别
3、设置属性的私有访问权限,通过公有的get,set方法实现对属性的访问
4、编写测试类,测试商品类别类和商品详细信息类的对象及相关方法(测试数据信息自定)
5、创建包info—存放商品类别类和商品详细信息类,创建test测试类
四、参考分析思路:
商品类别类:
属性:类别编号,类别名称
商品详细信息类:
属性:商品编号,商品名称,所属类别,商品数量(大于0),商品价格(大于0),
方法:盘点的方法,描述商品信息。内容包括商品名称,商品数量,商品价格,现在商品总价以及所属类别信息
五、代码参考:
package info;
public class GoodsType {
//设置属性的私有访问权限
private String typeNum;
private String typeName;
//通过公有的get,set方法实现对属性的访问
public void setTypeNum(String typeNum){
this.typeNum=typeNum;
}
public String getTypeNum(){
return typeNum;
}
public void setTypeName(String typeName){
this.typeName=typeName;
}
public String getTypeName(){
return typeName;
}
//无参构造方法
public GoodsType() {
}
//有参构造方法 实现属性赋值
public GoodsType(String typeNum, String typeName) {
this.typeNum = typeNum;
this.typeName = typeName;
}
}
package info;
public class GoodsInfor {
//设置属性的私有访问权限
private String goodsNum; //商品编号
private String goodsName; //商品名称
private GoodsType goodsTy; //所属类别
private int goodsCount; //商品数量
private double goodsPrice; //商品价格
//通过公有的get,set方法实现对属性的访问
public String getGoodsNum() {
return goodsNum;
}
public void setGoodsNum(String goodsNum) {
this.goodsNum = goodsNum;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public GoodsType getGoodsTy() {
return goodsTy;
}
public void setGt(GoodsType goodsTy) {
this.goodsTy = goodsTy;
}
public int getGoodsCount() {
return goodsCount;
}
public void setGoodsCount(int goodsCount) {
if(goodsCount>0){
this.goodsCount = goodsCount;
}else{
System.out.println("库存数量异常,请联系管理员");
}
}
public double getGoodsPrice() {
return goodsPrice;
}
public void setGoodsPrice(double goodsPrice) {
this.goodsPrice = goodsPrice;
}
//无参构造方法
public GoodsInfor() {
}
//有参构造方法,实现属性赋值
public GoodsInfor(String goodsName,GoodsType goodsTy, int goodsCount, double goodsPrice) {
this.goodsName = goodsName;
this.goodsTy =goodsTy;
this.setGoodsCount(goodsCount);
this.goodsPrice = goodsPrice;
}
//盘点的方法
public void show(){
System.out.println("商品名称:"+goodsName);
System.out.println("所属类别:"+goodsTy.getTypeName());
System.out.println("商品售价:"+goodsPrice);
System.out.println("库存数量:"+goodsCount);
System.out.println("商品总价:"+goodsPrice*goodsCount);
}
}
package info;
public class TestGoods {
public static void main(String[] args) {
GoodsType gt = new GoodsType("","洗发水");
GoodsInfor g1=new GoodsInfor("潘婷洗发水400ml",gt,16,40.5);
g1.show();
System.out.println("======================");
GoodsInfor g2=new GoodsInfor("蜂花洗发水250ml",gt,0,0.0);
g2.show();
}
}
六、运行效果图: