UML类图详解

UML类图

示例,来看这样一幅 图,其中就包括UML类图中的基本图示法:

在这里插入图片描述

首先你看那个’动物’矩形框,它就代表一个类(Class)。类图 分为三层,第一层显示类的名称,如果是抽象类,则就用斜体显示;第二层 是类的特性,通常就是字段和属性;第三层是类的操作,通常是方法或行 为 。 注 意 前 面 的 符 号 , ‘+’ 表 示 public , ‘-’ 表 示 private , ‘#’ 表 示 protected。"

在这里插入图片描述

然后注意左下角的’飞翔’,它表示一个接口图,与类图的区别主 要是顶端有<>显示。第一行是接口名称,第二行是接口方法。接口还有另一种表示方法,俗称棒棒糖表示法,比如图中的唐老鸭类就是实现 了’讲人话’的接口。

在这里插入图片描述

接下来就可以讲类与类,类与接口之间的关系了。首先注意 动物、鸟、鸭、唐老鸭之间的关系符号。

它们都是继承的关系,继承关系用空心三角形+实线来 表示:

在这里插入图片描述

我举的几种鸟中,大雁是最能飞的,我让它实现了飞翔接口。实现接口用空心三角形+虚线来表示:

在这里插入图片描述

你看企鹅和气候两个类,企鹅是很特别的鸟,会游不会飞。更重 要的是,它与气候有很大的关联。我们不去讨论为什么北极没有企鹅,为什 么它们要每年长途跋涉。总之,企鹅需要’知道’气候的变化,需要’了解’气 候规律。当一个类’知道’另一个类时,可以用关联(association)。关联关系用实线箭头来表示:

在这里插入图片描述

我们再来看大雁与雁群这两个类,大雁是群居动物,每只大雁都 属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合 (Aggregation)关系。聚合表示一种弱的'拥有'关系,体现的是A对象可以 包含B对象,但B对象不是A对象的一部分[DPE](DPE表示此句摘自《设计模 式》(第2版))聚合关系用空心的菱形+实线箭头来表示:

在这里插入图片描述

在这里插入图片描述

合成(Composition,也有翻译成’组合’的)是一种强的’拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样 [DPE]。在这里鸟和其翅膀就是合成(组合)关系,因为它们是部分和整体的 关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形+实线箭头 来表示。另外,你会注意到合成关系的连线两端还有一个数字’1’和数 字’2’,这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应 该有两只翅膀。如果一个类可能有无数个实例,则就用’n’来表示。关联关系、聚合关系也可以有基数。

在这里插入图片描述

动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力, 需要氧气、水以及食物等。也就是说,动物依赖于氧气和水。它们之间是依赖关系(Dependency),用虚线箭头来表示:

在这里插入图片描述

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿陌名!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值