Contents

1.3_Design_Priciples

Abstraction

Encapsultion

Decomposition

Generalization

Access Modifiers

https://aiit-backup.oss-cn-shanghai.aliyuncs.com/images/2024/06/eb67369e90bf53a21ad9c702045dca04-202406192255782.png

Public

允许系统中的任何类来访问、修改属性

Protected

The methods or data members declared as protected are accessible within the same package or subclasses in different packages.

受保护的方法、属性允许同一个package或者不同package的子类来访问

Default

只允许同个package内的其他类访问类的属性和方法,但是不允许修改

Private

除了封装类本身以外,任何类都无法访问所有方法、属性

UML序列图 Sequence Diagram

描述各个对象之间的交互顺序

https://aiit-backup.oss-cn-shanghai.aliyuncs.com/images/2024/06/a491f1e629f326a8e32d55130515a0d7-image-20240620222557219.png

Homework

创建一个 UML 序列图,向客户展示当客户在预订网站上购买机票时,系统的类是如何交互的。

系统应允许客户通过输入所需地点和出发/到达日期,从数据库中搜索可用航班。网站将搜索数据库,并返回显示可用航班。一旦客户选择了航班,他们将把航班添加到购物车并结账。然后输入付款信息,一切完成后,网站应确认航班,清空购物车,最后显示该航班的机票确认信息。

https://aiit-backup.oss-cn-shanghai.aliyuncs.com/images/2024/06/1c5ae11da185fc798c7892c72499a526-Tzwcmo5AEeebeBIyUknsWA_1fc12bdb7e051538dda0704384a5024d_FlightBooking-Sequence---Page-1.png

UML 状态图 State Diagram

状态图可以描述一个对象如何应对系统中的一系列事件

如何用UML描述一个状态?分成三行,第一行填写状态的名称,第二行填写状态变量,第三行填写动作,每一个状态都有三种动作,分别为进入、执行、退出。

进入动作表示转换到该状态时发生的动作,执行动作表示在状态中的动作,退出动作表示退出该状态时发生的动作。

https://aiit-backup.oss-cn-shanghai.aliyuncs.com/images/2024/06/70d09af44afb3e67bd1f613e9025244c-image-20240620232236874.png