Skip to content

Object-Oriented Analysis and Design 面向对象分析与设计 (OOAD) 🧑‍💻

目标 🎯

在观看本视频后,您将能够:

  • 解释 什么是对象(Objects)和类(Classes);

  • 描述 类图(Class Diagram)的目的;

  • 阐述 面向对象设计(Object-Oriented Design, OOD)与软件架构的关系。

面向对象分析与设计(OOAD)简介 🛠️

面向对象分析与设计(OOAD)是当系统使用面向对象编程语言(如 Java、C++ 或 Python)进行开发时,用来分析和设计软件系统的一种方法。
在我们深入讨论 OOAD 之前,先来了解一下什么是面向对象编程(OOP)。

面向对象编程中的核心概念 💡

OOAD 的核心是 对象(Objects)。对象不仅包含数据,还具有行为,描述了对象可以执行的动作。

举个例子,我们可以创建一个代表患者的对象。假设患者的名字是 Naya Patel,Naya 需要取消一个预约。然而,在创建 Naya 之前,我们必须先创建一个通用的患者对象版本。这个通用版本的对象被称为 (Class)。

类与对象的关系 🏷️

什么是类(Class)?

类是创建对象的蓝图或模板。在我们之前的例子中,Naya Patel 将是 患者类(Patient Class)的一个实例(Instance)。

定义了对象的通用属性和方法,但它并不指定具体的值,只有在对象被实例化时,类的属性才会被赋予特定的值。

例如,患者类 中可能有一个属性叫做 LastName(姓氏)。这只是一个占位符,并没有指定具体的姓氏,直到对象被创建并分配了一个值(如 Patel)。一旦对象被实例化后,它的方法可以被调用,执行一些动作,例如预约或取消预约。

实例化(Instantiation)

实例化是指根据类创建具体对象的过程。通过实例化,我们可以从类中创建不同的对象,每个对象都有自己的数据和方法。

OOAD 的优势 🚀

OOAD 适用于将系统分解为相互作用的对象的场景。通过这种方式,多个开发者可以同时在应用程序的不同部分进行工作。
通过创建视觉化的 UML 图,可以展示系统的静态结构和动态行为。
我们已经看到了一些行为类的 UML 图,接下来我们来看看一种结构类 UML 图,也就是 类图(Class Diagram)

类图(Class Diagram) 📊

类图是 OOAD 中常用的图形,用于展示软件系统的结构。类图显示了对象在面向对象设计中的关系。

类图的结构 🔲

在类图中,每个矩形框代表一个类,框内列出了类的属性和方法。

  • 属性(Attributes):类的属性或数据。

  • 方法(Methods):类的可用操作或行为。

类与类之间的关系 🔗

类图还显示了类之间的关系。一个子类可以“继承”父类的属性,这意味着它拥有与父类相同的属性和方法,并且还可以添加新的属性和方法。

继承关系
护士类(Nurse)继承自 医疗人员类(Medical Personnel)
医生类(Doctor)继承自 医疗人员类(Medical Personnel)
技术员类(Technician)继承自 医疗人员类(Medical Personnel)
专家类(Specialist)继承自 医生类(Doctor)

在这个例子中,护士医生技术员 都是 医疗人员类 的子类,而 专家医生类 的子类。这意味着:

  • 医生 能做 医疗人员 可以做的任何事;

  • 专家 能做 医生 能做的任何事。

结论 📌

通过本视频,您学习了:

  • 面向对象分析与设计(OOAD) 是基于交互对象行为来规划软件系统的过程。

  • 对象 包含数据,并具有描述其可执行行为的行为。

  • 是对象的蓝图或模板。

  • 类图 是一种结构化的 UML 图,展示了类之间的关系。

希望这些概念能够帮助您更好地理解面向对象分析与设计(OOAD)及其在软件架构中的应用!