关联(包含具体实例)

一、关联是什么?

是一种结构关系,说明一个事物的对象与另一个事物的对象相联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。两个类之间的简单关联表示了两个同等地位类之间的结构关系。当你想要表示结构化关系时使用关联。

二、代码部分

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();

    }

4.运行结果

在这里插入图片描述


  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值