OO(UML)中类及类关系

501 阅读3分钟

类关系

类 是计算功能;类关系是指两个类的完成计算任务的协作关系;

!类间关系本质只有一种意义,就是 计算使用,来协作完成 复合计算功能

-- !!关系种类源于 计算功能的逻辑关系(强弱)

类关系 强度种类的实质

仅用 类有没有属性项引用 另一个类来区别 依赖 和 关联 是不精确的 我们写定制对象,大部分会使用环境(例如浏览器提供DOM BOM)的通用功能,使用通用环境功能,就是依赖; 而类对象使用了私有的对象则是 更强烈的 对象关系

!被关系的类(独立专业)的 私有程度

依赖 > 关联 > 聚合 > 组合

类是什么

A class is a type of something. 类是某种的东西抽象型

这里的类特指 对计算对象抽象过的东西,全称可叫 某计算功能的类型

比 “是什么” 更要紧的是“为什么”

具体计算对象,是 OO构造术 的基本,类(对象模板)则在具体计算对象技术基础上,更强大的 OO程序构造术,更精细的复用计算功能

类 是什么东西的“型”

如果那东西是程序(计算功能),计算对象的“类”就是它的类型? 计算功能的抽象“型”是什么? 是 不具体的,通用的计算功能模板!

用 实物 比喻 计算功能,我以为始终不妥

1 例如吉它,吉它是实物,它不同于计算功能 2 例如 类对象的公共计算数据叫 属性Class State: Attributes 3 公共计算功能方法叫行为 Class Behavior: Operations 4 其实,类对象作为 程序结构层次中 的一个模块,它的意义是 提供计算功能(服务) 给层次中 其它 对象,从而实现计算协作。 5 类的公开数据,和方法,都是为 提供计算功能,这个形式目标的。 6 所以当我们制作类对象时,考量它的形式时,更多是它提供何计算功能,由此决定公开什么的数据属性,和功能方法

类抽象过对象

计算功能 类型 怎么 抽象 具体计算?从某具体计算功能中抽象出通用部分! 函数就是通用计算功能!

计算功能如何抽象

要知道如何抽象一个具体计算功能,得先知道 计算功能的实质 计算功能由 一个以数据和一步以上的计算操作组成

行为和状态

At its simplest, a class's description will include two pieces of information: the state information that objects of the class will contain and the behavior that they will support.

类是不会绝对独立

,哪怕程序只有一个类,它还跟用户交互关系。

如何确定类间关系

这是 程序内的对象 层次结构设计 的重要技术

两个类之间的关系,其实问几个问题就可以确定。例如它【服务】几个其他类,它又【使用】/依赖了哪些类等。

22

编程就是制作对象,修正下,编程不只是制作类(对象),而更多是制作多个协作的类。

内部的类 间接 完成程序目标

程序是为个人用户服务的,为他提供计算信息;然而,程序内的组件(类对象)很多不是 直接 完成这个最终任务的,而只是为它创造条件。例如app router等