相似性: 从软件工程的角度看,两个概念是在不同层次上对应用系统和软件系统中行为实体的抽象,均支持对应用系统和软件系统中的行为实体进行自然建模,并指导系统的最终实现。都可以作为软件的基本模块单元来构造软件系统,提供了不同程度的封装和信息隐藏的机制,有助于得到易于维护、可重用和高质量的软件系统。 差异: 1概念定义方式: 对象是封装了属性和操作,并能与其他对象通过信息传递进行交换的实体。可见,对象刻画了实体应具有的成分,成分的功能及它们之间的相互关系。 主体,驻留在某一环境中,能够自主(autonomous)、灵活(flexible)地执行动作以满足设计目标的行为实体。可见,没有定义内在结构,只描述了外在特征,主体是个黑盒,其内部结构不可知。 2抽象程度: 对象定义的是实体内部的结构,更贴近计算机世界。 主体只表述了外部特征,更贴近人们对现实世界的实体的直观认识,抽象层次更高。 3自主性 对象能操作自身的属性,对象的方法(public的话)通过其他对象以消息的形式激活之后,被执行。因此,对象方法的执行受控育其他对象,对象 的自主性更多地体现在对内部状态的控制,不具有行为上的自主性。 而自主性是主体的基本属性,主体能控制自身状态和行为。 4灵活性 主体有不同程度的灵活性,对象有有限的灵活性如简单的刺激反应。 5运行的持续性 为了达到设计目标,主体一般需要在环境中不间断的运行与环境交互。 对象的运行是间断的,接受到消息之后,运行代码,之后接着等待。 6交互本质 待续 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
主体与对象
最新推荐文章于 2015-03-12 22:05:00 发布