免费智能真题库 > 历年试卷 > 软件设计师 > 2015年上半年 软件设计师 上午试卷 综合知识
  第37题      
  知识点:   继承   消息   封装   消息传递
  关键词:   封装   继承   面向对象   消息传递   对象   消息        章/节:   面向对象基础知识       

 
对象、类、继承消息传递是面向对象的4个核心概念。其中对象是封装(37)的整体。
 
 
  A.  命名空间
 
  B.  要完成任务
 
  C.  一组数据
 
  D.  数据和行为
 
 
 

 
  第37题    2010年上半年  
   43%
以下关于面向对象继承的叙述中,错误的是(37)。
  第39题    2013年上半年  
   54%
继承是父类和子类之间共享数据和方法的机制。以下关于继承的叙述中,不正确的是(38)。有关于图中doIt()方法的叙述中,正确的是..
  第38题    2015年上半年  
   40%
面向对象(38)选择合适的面向对象程序设计语言,将程序组织为相互协作的对象集合,每个对象表示某个类的实例,类通过继承等关系..
   知识点讲解    
   · 继承    · 消息    · 封装    · 消息传递
 
       继承
        继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
        一个父类可以有多个子类,这些子类都是父类的特例,父类描述了这些子类的公共属性和操作。一个子类可以继承它的父类(或祖先类)中的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义自己的属性和操作。
        如果一个子类只从一个父类得到继承,叫做"单重继承";如果一个子类有两个或更多个父类,则称为"多重继承"。
 
       消息
        对象之间进行通信的一种构造叫做消息。但一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到消息的对象经过解释,然后予以响应,这种通信机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。
 
       封装
        面向对象系统中的封装单位是对象,对象之间只能通过接口进行信息交流,外部不能对对象中的数据随意地进行访问,这就造成了对象内部数据结构的不可访问性,也使得数据被隐藏在对象中。封装的优点体现在以下三个方面。
        (1)好的封装能减少耦合。
        (2)类内部的实现可以自由改变。
        (3)一个类有更清楚的接口。
 
       消息传递
        消息是内存空间中一段长度可变的缓冲区,其长度和内容均由用户定义。从操作系统的角度来看,所有的消息都是单纯的字节流,既没有确切的格式,也没有特定的含义。对消息内容的解释是由应用来完成的,应用根据自定义的消息格式,将消息解释成特定的含义,如某种类型的数据、数据块的指针或空。
        消息传递指的是任务与任务之间通过发送和接收消息来交换信息。
        消息机制由操作系统来维护,包括定义寻址方式、认证协议、消息的数量等。一般提供两个基本的操作:send操作,用来发送一条消息;receive操作,用来接收一条消息。如果两个任务想要利用消息机制来进行通信,它们首先要在两者之间建立一个通信链路,然后就可以使用send和receive操作来发送和接受消息。
        任务之间的通信方式可以分为直接通信和间接通信两种。
        (1)直接通信。在直接通信方式下,通信双方必须明确知道与之通信的对象。采用类似下面的通信原语:
        .send(P,message):发送一条消息给任务P;
        .receive(Q,message):从任务Q那里接收一条消息。如果没有收到消息,可以阻塞起来等待消息的到来,也可以立即返回。
        在通信双方之间存在一条通信链路,该链路具有如下特征:
        .通信链路是自动建立的,由操作系统来维护;
        .每条链路只涉及一对相互通信的任务,每对任务之间仅存在一条链路;
        .通信链路可以是单向或双向的。
        (2)间接通信。在间接通信方式下,通信双方不需要指出消息的来源或去向,而是通过共享的邮箱(mailbox)来发送和接收消息,每个邮箱都有一个唯一的标识。采用类似下面的通信原语:
        .send(A,message):发送一条消息给邮箱A;
        .receive(A,message):从邮箱A接收一条消息。
        间接通信的特点:
        .对于一对任务,只有当它们共享一个公共邮箱时才能进行通信;
        .一个邮箱可以被多个任务访问,每对任务也可以使用多个邮箱来通信;
        .通信可以是单向或双向的。
        邮箱只能存放单条消息,它提供了一种低开销的消息传递机制,其状态只有两种:空或满。另外一种间接通信机制是消息队列。它与邮箱是类似的,但可以同时存放若干条消息,提供了一种任务间缓冲通信的方法。如下图所示,发送消息的任务将消息放入队列,而接收消息的任务则将消息从队列中取出。
        
        消息队列示意图
   题号导航      2015年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第37题    在手机中做本题