正在加载图片...
第一章前言 于类之间的继承关系,即使两个类的抽象行为存在子类型关系,如果它们没有继 承关系,则编译系统不会认为它们是子类型关系。另外,因为在子类中可以对父 类中的方法重定义,这样就有可能使得子类与父类有不同的行为,从而破坏子类 型关系。因此,在一些面向对象语言中把类与类型分开考虑8,53]。 1.1.5相关的术语 在有关面向对象技术的不同研究中,往往对一个相同的概念采用了不同的术 语描述,为了在论文的描述中不至于产生混淆,现将这些术语进行归类,同一类 中的术语表示相同的概念,本论文中经常交替使用它们。 (1)对象、类的实例。 (2)对象的局部变量、成员变量、实例变量。 (3)父类、超类。 (4)子类、衍生类。 (⑤)方法、成员函数、操作、消息处理过程。 1.2并发与面向对象模型 并发(concurrency)的概念伴随我们已有很长时间,几乎自从计算机出现起,并 发就受到了人们的重视,它反映了程序潜在的并行执行能力。 传统的并发模型是围绕进程的概念进行设计的,它由一组进程构成,每个进 程是一个顺序执行的过程,各进程间可以并发执行。进程在执行中可以相互通信, 交换数据。进程间通信可以采用两种方式:共享变量和消息传递,信号量、临界 区、管程和路径表达式等被用来对并发进程的操作进行同步。我们认为,进程是 一个实现级的概念,它是对客观世界活动的一种间接模拟,因此,采用进程模型 来解决客观世界中的并发问题就显得极不自然,并且也使得并发程序难以设计和 理解。 面向对象模型以一种更加直接的方式刻划客观世界中的活动,模型中存在着 潜在的并发执行能力。通过简单的观察,我们不难看出:一个对象向另一个对象 发送消息后,若不需要或不立即需要消息的处理结果,前者不必等待后者处理消 息,消息发送者和消息接受者可以并发执行:对象不都是处于被动的提供服务状 态,它们中的一些除了能通过接收消息向外提供服务外,还可以有自己的事务处 理;一个对象往往可以同时处理多个消息,等等。第一章 前 言 3 于类之间的继承关系,即使两个类的抽象行为存在子类型关系,如果它们没有继 承关系,则编译系统不会认为它们是子类型关系。另外,因为在子类中可以对父 类中的方法重定义,这样就有可能使得子类与父类有不同的行为,从而破坏子类 型关系。因此,在一些面向对象语言中把类与类型分开考虑[8,53]。 1.1.5 相关的术语 在有关面向对象技术的不同研究中,往往对一个相同的概念采用了不同的术 语描述,为了在论文的描述中不至于产生混淆,现将这些术语进行归类,同一类 中的术语表示相同的概念,本论文中经常交替使用它们。 (1)对象、类的实例。 (2)对象的局部变量、成员变量、实例变量。 (3)父类、超类。 (4)子类、衍生类。 (5)方法、成员函数、操作、消息处理过程。 1.2 并发与面向对象模型 并发(concurrency)的概念伴随我们已有很长时间,几乎自从计算机出现起,并 发就受到了人们的重视,它反映了程序潜在的并行执行能力。 传统的并发模型是围绕进程的概念进行设计的,它由一组进程构成,每个进 程是一个顺序执行的过程,各进程间可以并发执行。进程在执行中可以相互通信, 交换数据。进程间通信可以采用两种方式:共享变量和消息传递,信号量、临界 区、管程和路径表达式等被用来对并发进程的操作进行同步。我们认为,进程是 一个实现级的概念,它是对客观世界活动的一种间接模拟,因此,采用进程模型 来解决客观世界中的并发问题就显得极不自然,并且也使得并发程序难以设计和 理解。 面向对象模型以一种更加直接的方式刻划客观世界中的活动,模型中存在着 潜在的并发执行能力。通过简单的观察,我们不难看出:一个对象向另一个对象 发送消息后,若不需要或不立即需要消息的处理结果,前者不必等待后者处理消 息,消息发送者和消息接受者可以并发执行;对象不都是处于被动的提供服务状 态,它们中的一些除了能通过接收消息向外提供服务外,还可以有自己的事务处 理;一个对象往往可以同时处理多个消息,等等
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有