一、关联是什么?
是一种结构关系,说明一个事物的对象与另一个事物的对象相联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。两个类之间的简单关联表示了两个同等地位类之间的结构关系。当你想要表示结构化关系时使用关联。
二、代码部分
1.商品信息类
代码如下(示例):
package zuihou;
public class Shangpinxiangxi {
private int comid;
private String comname;
public Shangpinxiangxi() {
}
public Shangpinxiangxi(int comid, String comname) {
this.comid = comid;
this.comname = comname;
}
public int getComid() {
return comid;
}
public void setComid(int comid) {
this.comid = comid;
}
public String getComname() {
return comname;
}
public void setComname(String comname) {
this.comname = comname;
}
public String toString() {
return "Category{comid = " + comid + ", comname = " + comname + "}";
}
}
2.商品类
代码如下(示例):
package zuihou;
public class Shangpin {
private int id;
private String name;
private int number;
private double price;
Shangpinxiangxi s;
public Shangpin() {
}
public Shangpin(int id, String name, int number, double price, Shangpinxiangxi s) {
this.id = id;
this.name = name;
this.setNumber(number);
this.setPrice(price);
this.s = s;
}
public void show() {
System.out.println("商品名称: " + getName());
System.out.println("所属类别: " + s.getComname());
System.out.println("商品售价: " + getPrice());
System.out.println("库存数量: " + getNumber());
System.out.println("商品总价: " + getPrice() * getNumber());
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
if (number > 0) {
this.number = number;
} else {
System.out.println("库存数量异常,请联系管理员");
}
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
if (price > 0) {
this.price = price;
} else {
price = 0;
}
}
public Shangpinxiangxi getC() {
return s;
}
public void setC( Shangpinxiangxi s){
}
}
3.测试类
代码如下(示例):
package zuihou;
public class Test {
public static void main(String[] args) {
Shangpinxiangxi shangpinxiangxi =new Shangpinxiangxi(789, "洗发水");
Shangpin i = new Shangpin(11, "潘婷洗发水400mml", 16, 40.5, shangpinxiangxi);
i.show();
System.out.println("================");
Shangpin i2 = new Shangpin(18, "蜂花洗发水", -1, 11.5, shangpinxiangxi);
i2.show();
}