软件建模与设计(复习资料仅针对个人复习)

本文详细介绍了面向对象设计的过程,包括类建模的基础和高级概念,如多重性、关联类、泛化和继承,以及状态建模、交互建模和软件分析的各个阶段。此外,还探讨了类设计中的行为具体化、设计优化和抽象类与接口的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,类建模
1,多重性
2,关联端名
3,自关联

类与自身关联,关联两端不同角色

public class Person{
   
    public Person[] parent;
    public Person[] child;
}
4,关联类

关联关系之间衍生出的类。多对多必须使用。

在这里插入图片描述
在这里插入图片描述

5,限定关联

加一个限定符降低多重性。bank+accountnumber ----- account

6,泛化(is-a-kind-of)和继承

任何父类都可以被子类直接替换(正方形与矩形)

二,类建模高级
1,枚举

不要用泛化。

<>

enum suit{
   A,B,C}

在这里插入图片描述

2,属性多重性

属性的实例可能取值个数。

3,可见性

±#~

4,N元关联

在这里插入图片描述

无法被表示,把关联提升为类。

5,聚合

一个聚集对象由多个部件构成,具有传递性。A<-B,B<-C,A<-C

在这里插入图片描述

整体与部分的生命周期可以不一样。

6,组合

生命周期相同,是特殊的聚合。

Circle -> Point

在这里插入图片描述

7,关联,聚合,组合在于发的实现上区别不大
8,抽象类
9,多重继承

产生二义性。不知道用哪一个方法。

使用部件组合的委派。即用一个独立的抽象部件去代替原来泛化子类的功能。由于抽象方法所以用哪个方法都一样。

具体:把冲突的功能分成组件

在这里插入图片描述

把部件作为属性。委派写法。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值