UML--类图的表示

这篇具有很好参考价值的文章主要介绍了UML--类图的表示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 类的表示

1.1 访问属性

+: public
-: private
#: protected

1.2 接口与抽象类

斜体 表示抽象类和抽象方法
<<Interface>> 类表示接口

1.3 类图示意

Mclass
- val: int
+ getVal(): int

2. 类关系

2.1 实现关系

空心三角形和虚线组成
B实现A,则三角形尖尖朝向A,在三角形底边引一条虚线再连接B。

2.2 泛化关系

is a关系, 继承关系。
B继承A,则三角形尖尖朝向A,在三角形底边引一条实现线再连接B。

2.3 依赖关系

use a关系

弱关联关系: 对象A用到对象B, 但是和B的关系不是太明显的时候,就是依赖关系。

用一个虚线箭头表示,A使用了B, 则使用虚线箭头指向B。

代码1:

public class B {
    
    public String field1;
    
    public void method1() {
        System.println("在类B的方法1中");
    }
    
    public static void metho2() {
        System.out.println("在类B的静态方法2中");
    }
}

代码2:

public class A {
    public void method1() {
        B b = new B();
        b.method1();
    }
    
    public void method2() {
        B.method2();
    }
    
    public void method3(B b) {
        String s = b.field1;
    }
    
    public B method4() {
        return new B();
    }
    
}

2.4 聚合关系

聚合就是整体与部分的关系,即has a关系。
用一个空心菱形和实线箭头表示。

A由于B、C聚合而成,则由A引申一个空心菱形,在引入线连接到B、C。

实例1:汽车类和汽车驾驶员

class CarClass {
    String carName;
    int carId;
    CarClass (String name, int id )
    {
        this.carName = name;
        this.carId = id;
    }
}

class Driver extents CarClass {
    String driverName;
    Driver(String name, String cname, int cid) {
        super(cname, cid);
        this.driverName = name;
    }
}

class TransportCompany {
    public static void main(String args[])
    {
        Driver obj = new Driver("Andy", "Ford", 9988);
        System.out.println(obj.driverName + "is a driver of car Id: " + obj.carId);
    }
}

2.5 组合关系

组合比聚合更强,部分与整体的生命周期一致。
用一个实心菱形和实线箭头表示。

A由于B、C组合而成,则由A引申一个实心菱形,在引入线连接到B、C。

2.6 关联关系

关联关系比组合关系要弱,通过他们对象本身。一对一,一对多,多对多。

用实线箭头来表示,A关联B则用A指向B。

2.7 聚合、组合、关联区别

关联是两个类之间的关系,可以是一对一,一对多,多对多。
聚合则是一种单向的关系,比如钱包和钱,一个实体可以脱离另外一个实体的存在而存在。钱没了不表示钱包就没了。
组合关系则表示两个实体强关联,像人和心脏一样。文章来源地址https://www.toymoban.com/news/detail-744140.html

到了这里,关于UML--类图的表示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软考:软件工程:面向对象技术与UML,时序图,用例图,类对象,封装,继承,多态

    提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1)自己的科研经历, 科研内容 ,学习的相关领域知识,要熟悉熟透了 (2)自己的实习经历,做了 什

    2024年02月11日
    浏览(54)
  • UML箭头汇总+IDEA绘制UML类图详细教程+chatGPT辅助生成UML类图教程

    参考:http://www.cnblogs.com/damsoft/archive/2016/10/24/5993602.html 1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言。 各个箭头的含义: 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是他们的主要用途简介: 1.用例图:对系统的使

    2024年02月03日
    浏览(44)
  • 快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图

    一个合格的程序员,要想成长为一个高级工程师,不仅仅需要大量代码的编写,更需要对设计模式具有深入的了解和灵活的应用。从本篇文章开始,我将通过对【尚硅谷设计模式】视频课程的学习总结,尝试以最简单,最通俗易懂的方式完成对设计模式的讲解。 学习设计模式

    2024年02月07日
    浏览(83)
  • UML-类图和类图转化为代码

    提示:文章详细的讲解了类图的四种关系,以及每种关系如何转化为对应的代码。 依赖关系 是一种 使用关系 ,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。 依赖关系使用一个 带箭头的虚线 表示, 箭头指向

    2024年02月02日
    浏览(38)
  • UML类图(二)

    相信希望,相信自己 上一章简单介绍了 设计模式的原则(一), 如果没有看过,请观看上一章 本文参考文章: 常见UML符号详解 UML (Unified modeling language) 统一建模语言,是一种用于软件系统分析和设计的语言工具, 它用于帮助软件开发人员进行思考和记录思路的结果。 如: 修饰符

    2024年02月09日
    浏览(40)
  • UML 类图

    用动物园的类图结构来举例,先抽象化动物类如图所示: 一个类图包括类名、属性和行为,类名不用解释,在介绍属性和行为前,先了解一下访问权限: ‘ - ’ private:只有类内部的成员才能访问 ‘ + ’ public:类内部和类外部都能访问 ‘ # ’ protected:类内部和它的子类才

    2024年01月20日
    浏览(46)
  • UML的类图规则

    public:+号 private:-号 protected:#号 类图多重关系: 泛化关系: 概念:也就是继承关系。 表示方式:用带空心三角形的直线来表示。 例子:动物和猫,人和老师 关联关系: 概念:用于表示一类对象与另一类对象之间的联系。 子关系: 双向关联: 表示方式:一条直线 例子:客

    2024年02月13日
    浏览(47)
  • UML类图学习

    第一层表示类名(斜体表示抽象类) 第二层表示该类属性和字段 第三层表示该方法 注意:属性、字段或方法前面+表示Public -表示Private #表示protected,如果是静态的可以在前面加上static。 抽象类: 普通类: 第一层表示接口名称。 第二层表示接口方法。 还有一种方法是棒棒

    2024年01月23日
    浏览(43)
  • UML-类图和对象图

    目录 类图概述: 1.类: 2.属性: 3.类的表示: 4.五种方法: 类图的关系: 1.关联 2.聚合 3.组合 4.依赖 5.泛化 6.实现 对象图概述: 1. 对象图包含元素: 2. 什么是对象 3.对象的状态可以改变: 4.对象的行为 5.对象标识: 类和对象的区别: 类图(Class diagrams):用于定义系统中的类,包括描

    2024年02月13日
    浏览(40)
  • 设计模式(1) - UML类图

    从这一节开始,我们将一起学习设计模式。我们的学习目标是什么呢? 了解常用设计模式以及它们的使用场景; 分析实际工程中设计模式的使用,揣摩实际意图,了解作者设计思路; 尝试运用设计模式迭代、重构自己的代码; 提升软件架构设计思路。 最近在阅读 Android 源

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包