当前位置: 首页 > news >正文

企业网站建立的流程2022年新闻热点摘抄

企业网站建立的流程,2022年新闻热点摘抄,网站建设500错误代码,内蒙古城乡住房建设厅网站提示:文章详细的讲解了类图的四种关系,以及每种关系如何转化为对应的代码。 UML-类图和类图转化为代码 一、类于类之间的关系1.依赖关系2.关联关系(1) 单向关联(2) 双向关联(3) 自关联(4) 聚合关联(has-a)(5) 组合关联(contains-a&#xff09…

提示:文章详细的讲解了类图的四种关系,以及每种关系如何转化为对应的代码。

UML-类图和类图转化为代码

  • 一、类于类之间的关系
    • 1.依赖关系
    • 2.关联关系
      • (1) 单向关联
      • (2) 双向关联
      • (3) 自关联
      • (4) 聚合关联(has-a)
      • (5) 组合关联(contains-a)
    • 3.泛化关系(is-a)
    • 4.实现关系
  • 二、UML类图转化为代码
    • 1.依赖关系(Dependency)
    • 2.泛化关系(Generalization)
    • 3.关联关系(Association)
      • (1)单向关联
      • (2)双向关联
      • (3)自关联
    • 4.聚合关系(Aggregation)
    • 5.组合关系(Composition)
    • 6.实现关系(Implementation)
  • 三、类图转化为代码例题练习
  • 四、总结


一、类于类之间的关系

1.依赖关系

  • 依赖关系 是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。
  • 依赖关系使用一个带箭头的虚线表示,箭头指向被依赖的对象(或被使用的对象)
    在这里插入图片描述

2.关联关系

  • 关联关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系。
  • 关联的多重性:
    • 关联的多重性是指有多少对象可以参与关联,它可以用来表达一个取值范围、特定值、无限定的范围或者一组离散值。
    • UML 中关联的多重性用数字标识的范围来表示,其格式为 “minimum…maximum” ,其中 minimum 和 maximum 都表示 int 类型。
    • 多重性也可以使用符号 “*” 来表示一个没有上限或者说上限为无穷大的范围。
    • 赋给一个端点的多重性表示该端点可以有多个对象与另一个端点的一个对象关联。
      在这里插入图片描述

(1) 单向关联

  • 单向关联使用一个带箭头的实线来表示,箭头指向关联的一方
    在这里插入图片描述

(2) 双向关联

  • 双向关联使用实线表示,将两个类连接起来。
    在这里插入图片描述

(3) 自关联

  • 一个类可以与自己关联,这是可以将其称为自关联或者自身关联。
    在这里插入图片描述

(4) 聚合关联(has-a)

  • 简单理解:部分类可以脱离整体而存在。
  • 部分类的生命周期独立于整体类的生命周期,即部分类能够脱离整体而单独存在,称为聚合关系。
  • 聚合关系使用一个带空心菱形的实线来表示,空心菱形指向整体
    在这里插入图片描述

(5) 组合关联(contains-a)

  • 简单理解:部分类不能够独立存在。
  • 部分类的生命周期不独立于整体类的生命周期,即部分类不能够脱离整体而单独存在,称为组合关系。
  • 组合关系使用一个带实心菱形的实线来表示,实心菱形指向整体
    在这里插入图片描述

3.泛化关系(is-a)

  • 简单理解:继承关系
  • 泛化关系使用一个带三角箭头的实线来表示,箭头指向父类,即被继承的元素。
    在这里插入图片描述

4.实现关系

  • 简单理解:实现接口
  • 实现关系使用一个带三角箭头的虚线来表示,箭头指向接口,即被实现元素。
    在这里插入图片描述

二、UML类图转化为代码

1.依赖关系(Dependency)

  • 大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。
    在这里插入图片描述
public class TV{private int color;public void change(Channel c){}public void turn_on(){}public void turn_off(){}
}
public class Channel{}

2.泛化关系(Generalization)

  • 通过 extends 关键字实现继承结构。
    在这里插入图片描述
public Tank{public void ram(){}public void radion(){}
}
public SpecialTank extends tank{}

3.关联关系(Association)

  • 关联关系表示为某个类以成员变量的形式包含其他类的对象。

(1)单向关联

在这里插入图片描述

public class ClassA{private ClassB classB;
}
public class ClassB{}

(2)双向关联

在这里插入图片描述

public class Company{private Person[] persons;
}
public class Person{private Company company;
}

(3)自关联

在这里插入图片描述

public class WorkerPerson{private WorkerPerson workerPerson;
}

4.聚合关系(Aggregation)

  • 作为成员变量利用构造方法赋值。
    在这里插入图片描述
public class Car{private Engien engien;private Wheel wheel;public Car(Engien engien, Wheel wheel){this.engien = engien;this.wheel = wheel;}
}

5.组合关系(Composition)

  • 作为成员变量在构造函数中实例化另一个对象。
    在这里插入图片描述
public OnePerson{private Head head;public OnePerson(){head = new Head();}
}
public class Head{}
...

6.实现关系(Implementation)

通过 implements 关键字实现。
在这里插入图片描述

public interface IMyInterface{public String g;public int i;public int charge();
}
public class MyClass implements IMyInterface{}

三、类图转化为代码例题练习

  • 在购物车例子中,Product 类表示一个商品,包含3个属性:id、名称和价格。Cart 类表示一个购物车,包含1个属性:产品列表,同时具有添加商品和计算商品总价的方法。User类表示一个客户,包含4个属性:姓名、邮件、密码和购物车列表。请根据描述画出类图、并用简单的代码实现用户添加商品计算价格功能
    在这里插入图片描述
public class User{private String name;private String email;private String password;private List<Cart> carts;public User(List<Cart> carts, String name, String email, String password){this.carts = carts;this.name = name;this.email = email;this.password = password;}
}
public class Product{private int id;public String name;public Float price;
}
public class Cart{public List<Product> products;public int add_product(int product){}public Float get_total_price(){float = 0.0;for(Product product : products){float += product.price;}}
}

四、总结

  • 这些关系之间的强弱程度不同,从强到弱的结果是:
    • 泛化关系=实现关系>组合关系(组合关联)>聚合关系(聚合关联)>关联关系(普通关联)>依赖关系
  • 代码转换小妙招:
    • 依赖关系和关联关系箭头指向的类都是“被动”的,写在另外一个类当中。
    • 泛化关系和实现关系三角箭头指向的都是父类或者接口。
  • 关于多重性记忆的小妙招:
    • 赋给一个端点的多重性表示该端点可以有多个对象与另一个端点的一个对象关联。
http://www.yayakq.cn/news/396862/

相关文章:

  • 怎样制作自己网站微信怎么导入wordpress
  • 猪八戒网做网站如何徐州专业网站建设公司哪家好
  • 铁路项目建设 网站线上新媒体电商怎么开店
  • 江苏两学一做网站代理网站地址
  • 扬州seo博客重庆百度seo关键词优化
  • 网站备案承诺书填写泰安有口碑的企业建站公司
  • 做企业网站用什么程序59软文网
  • 网站建设公司 成都谷歌网站提交入口
  • 外贸企业网站优化网站管理与维护
  • 网站品牌栏目建设怎么快速推广
  • 专业网站制作公司是如何处理一个优秀的网站的电商网站 编程语言
  • 镇江网站建设开发宜宾网站建设价格
  • 做微信公众号的网站重庆住建部官网
  • 做电脑网站社区网站模版
  • 网站效果图确认表快音
  • html5 响应式音乐网站企业微信官网登录入口网页版
  • 网站建设哪家服务好电子商务网站开发怎么设计
  • 本地dedecms网站东莞网站建设工作室
  • 制作网站最新工具如何免费自己做个网站
  • 潍坊站总站人工服务电话wordpress 笑话主题
  • 如何做外贸网站优化推广h5开发平台有哪些
  • 网站开发人员职位成都室内设计公司排名
  • 手机ftp传网站文件在哪里dede网站后台导入文档
  • 学会网站开发需要多久淘宝客网站建设难度大吗
  • 宁波建设安全协会网站网络推广营销方法
  • 门户网站和搜索网站的区别宽带营销推广方案
  • 创建网站目录应注意猪八戒做网站排名
  • 网站增加关键词小木桥路建设工程招投标网站
  • 如何做网站百度排名优化广州做网站专业公司
  • 做招生网站优秀设计赏析网站