在面向对象(对象+继承+类+通信)技术中,我们将对象模型分为三种,对象模型,动态模型和功能模型。
通常我们这样来释义这三种模型:
对象模型:强调“对谁做”
动态模型:强调“何时做”
功能模型:强调“做什么”
这三个模型合起来其实就像是一个句子。就像:谁在什么时间干了什么事情。
对象模型:系统的静态结构,包括类和对象。举个例子 我们把人作为一个大的类,那么,男人和女人相对于人来说就是一个具体的分类,可以说成是人的子类(因为男人和女人还可以分别继续向下分),也可以说成是人包括了男人和女人两个对象。那么,小红就是女人中的一个具体的对象,而小刚就是男人中的一个具体的对象。
关联:对象和对象之间的联系称为关联。
聚合:整体和部分之间。例如:花和牡丹花。
限定:表示对关联的约束 例如:通过目录中的文件名来寻找文件。那么这里目录中的文件名就限制了我们必须找的是对应的文件。
角色:用来说明关联的一端。例如:我在为A公司工作。这时,其实,就是告诉大家,我是A公司的雇员,或者说A公司是我的雇主。
动态模型:主要是指系统的控制逻辑。分为状态图和事件追踪图
1、状态图:
大家看,其实仔细观察它跟我们中学里学的生物体中激素的调节过程很类似。不过,这里是系统,所以会有一个终结状态,而我们人类体内,激素调节是循环的。当然,如果在死亡状态下,人类就进入了终结状态。其实,还是一个道理!
2、事件追踪图:这里主要强调事情发生的时间先后。这个我认为,视频里讲到的一个例子就能很好的说明这个问题。
这张图中,表明了在打电话这一事件中出现的每一个微小动作的具体发生时间的先后。这就是对打电话这一事件中所有可能的事件进行了一次追踪。好像一个时间跟踪器。
功能模型:由数据流图组成,通过输入得到什么样的输出.不考虑时序。我认为功能模型只是注重最后能够得到一个什么样的结果,而这其中的流程或者说是具体操作,应该是不太被关注的!
以上,是我对面向对象技术中三大模型的理解!