免费智能真题库 > 历年试卷 > 软件设计师 > 2010年下半年 软件设计师 上午试卷 综合知识
  第49题      
  知识点:   程序设计   程序设计语言的基本概念   可视化程序设计
  关键词:   程序设计        章/节:   计算机软件知识       

 
以下关于可视化程序设计的叙述中,错误的是(49)。
 
 
  A.  可视化程序设计使开发应用程序无需编写程序代码
 
  B.  可视化程序设计基于面向对象的思想,引入了控件和事件驱动
 
  C.  在可视化程序设计中,构造应用程序界面就像搭积木
 
  D.  在可视化程序设计中,采用解释方式可随时查看程序的运行效果
 
 
 

 
  第20题    2017年下半年  
   15%
更适合用来开发操作系统的编程语言是( )。
  第18题    2014年下半年  
   40%
属于面向对象、解释型程序设计语言的是()。
  第20题    2014年上半年  
   30%
以下程序设计语言中, (20) 更适合用来进行动态网页处理。

   知识点讲解    
   · 程序设计    · 程序设计语言的基本概念    · 可视化程序设计
 
       程序设计
               类和继承
               1)类
               一个类是一些属性和方法的封装体,类的定义用关键字class声明,用关键字public、protected、 private指定类的成员的存取控制属性:private(私有)成员只有类内部的方法才能访问,protected(保护)成员派生类和同一文件夹下的类可以访问,public(公有)成员可以从类的外部访问。默认是public。这体现了面向对象的以下指导思想:尽量将类内部的细节隐藏起来,对类的属性的操作应该通过类的方法来进行。
               另外,public还可以用来修饰类,public类能够被其他文件夹下的类访问,非public类只能被同一文件夹下的类访问。一个.java文件中可以包含多个类,会被编译成多个.class文件,但只能有一个public类,而且该类名要和文件名一样。
               2)继承
               Java中用关键字extends表示类间的继承关系。父类的公有属性和方法成为子类的属性和方法,子类如果有和父类的同名、同参数类型的方法,那么子类对象在调用该方法时,调用的是子类的方法,亦即方法的重置。如果想要调用父类的同名方法,需要用super关键字(属性同理)。
               子类的对象可以作为祖先类的对象使用,即所谓类的向上转换,反之则不行。具体表现在:可以用子类对象来对祖先类对象赋值,可以用子类对象作为实参去调用以父类对象为形参的函数。
               对象的引用本质
               Java中的对象实际上是对象的引用,本质上和C语言中的指针是一样的;但也和C语言指针不尽相同,例如,不能自增、自减,不能强制转换成其他类型。
               例如:
               
               构造方法
               构造方法就是类的对象生成时会被调用的方法。每个类至少有一个构造方法(Constructor),也称构造函数。构造方法的名字和类名相同,没有任何返回类型。每个类都有一个默认的构造方法,但当用户自定义了构造方法后,默认的构造函数就不再有效了。
               重载
               同一个类中的两个或两个以上方法,名字相同,而参数个数不同或参数类型不同,称为重载。注意:不能有各方法名字和参数都一样,而仅仅返回值类型不同。
               静态属性和静态方法
               静态属性和静态方法的声明用关键字static实现,一个类的静态属性只有一份,由所有该类的对象共享。不需要创建对象也能访问类的静态属性和方法,访问方式为"类名.静态属性或静态方法",静态方法与对象无关,因此不能在静态方法中访问非静态属性和调用非静态方法。
               this和super关键字
               这两个关键字颇为重要。this代表当前对象,super代表当前对象的父类的东西。
               this主要用途有以下两个。
               (1)一个构造函数调用另一个构造函数,对构造函数的调用必须是第一条语句。
               (2)将对象自身作为参数来调用一个函数。
               super的用途如下:在子类中调用父类的同名方法,或在子类的构造函数中调用父类的构造函数,此时亦必须是第一条语句。
               多态
               所谓多态,是指通过基类对象调用一个基类和派生类都有的方法时,在运行时才能确定到底调用的是基类的方法还是派生类的方法。多态的好处是增加了程序的可扩展性。多态是通过动态联编实现的,即编译时不确定,程序运行时才确定调用哪个函数。
               抽象类与接口
               1)抽象类
               抽象类通过关键字abstract实现,抽象类的目的是定义一个框架,规定某些类必须具有的一些共性。
               包含抽象方法的类一定是抽象类,所谓抽象方法是指没有函数体的方法。
               抽象类的直接派生类必须实现其抽象方法;抽象类只能用于继承,不能创建对象。
               2)接口(Interface)
               接口用关键字interface声明,只能用于继承。注意:此时关键字为implements(实现)。接口用于替代多继承的概念,能实现多继承的部分特点,又避免了多继承的混乱,还能起到规定程序框架的作用。注意:接口也可以用于多态。
               直接继承了接口的类,必须实现接口中的抽象方法;间接的则可以实现,也可以不实现。
               3)抽象类与接口的异同
               接口和抽象类都不能创建对象。
               抽象类不能参与多继承,抽象类可以有非静态的成员变量,可以有非抽象方法;接口可以参与多继承,所有属性都是静态常量,所有方法都是public抽象方法。
               异常处理
               1)异常概念
               异常,即出错,比如0作为除数、找不到类、打开文件错误、数组越界等。异常如果不进行处理,那么程序运行就会结束;如果进行处理,那么会在执行完异常处理代码后继续运行。
               Java中所有异常类均继承自类Exception。
               Java中的异常类层次结构如下:
               
               此外,还有EOFException、 FileNotFoundException、 MalformedURLException等。
               2)捕获异常
               异常处理的典型用法如下,将可能出现异常的代码放在try块中,其后由一个或多个catch捕获相应异常进行处理,注意只执行第一个匹配的catch块,忽略后面的。
               
               如果某个方法中所产生的异常该方法自己没有处理,那么可以在调用该方法的方法中进行处理,如果自己处理了,那么调用它的方法就无法得到该异常。
               3)抛出异常
               异常除了运行中系统产生的之外,也可以主动抛出异常,用关键字throw,如throw new Exception()。注意:throw只能抛出Throwable子类的异常。
               4)带throws关键字的方法
               带throws关键字的方法声明如下:
               
               强制调用该方法的方法必须处理可能发生的异常,或者将异常重新定向。假定方法A带throws关键字,而方法B中调用了方法A,则方法B中必须有处理方法A中可能产生的异常的语句,或者方法B也带throws关键字,指明调用方法B的方法必须处理异常。
               final关键字
               用final关键字定义的常量,在其初始化或第一次赋值后,其值不能被改变。常量必须先有值,然后才能使用。对于常量的第一次赋值只能在构造函数中进行。
               final对象的值不能被改变,指的是该对象不能再指向其他对象,而不是指不能改变当前对象内部的属性值。
               函数参数声明为final后,函数中不能改变其值。
               final方法是不能被重置的方法。
               final类不能被继承,其所有方法都是final的,但属性可以不是final的。
 
       程序设计语言的基本概念
               低级语言和高级语言
               1)低级语言
               通常称机器语言和汇编语言为低级语言。机器语言是指用0、1字符串组成的机器指令序列,是最基本的计算机语言;汇编语言是指用符号表示指令的语言。
               2)高级语言
               高级语言是从人类的逻辑思维角度出发、面向各类应用的程序语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行。这类语言与人们使用的自然语言比较接近,大大提高了程序设计的效率。
               编译程序和解释程序
               尽管人们可以借助高级语言和计算机进行交互,但是计算机仍然只能理解和执行由0、1序列构成的机器语言,因此高级程序语言需要翻译,担任这一任务的程序称为语言处理程序。用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。如果源程序是使用汇编语言编写的,则需要一个称为汇编程序的翻译程序将其翻译成目标程序后才能执行。如果源程序是使用某种高级语言编写的,则需要相应的解释程序或编译程序对其进行翻译,然后才能在机器上执行。
               解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再执行;而编译程序(编译器)则是将源程序翻译成目标语言程序,然后在计算机上执行目标程序。
               程序设计语言的定义
               下面介绍关于程序设计语言的定义。
               (1)语法。由程序设计语言的基本符号组成程序中的各个语法成分(包括程序)的一组规则,其中由基本符号构成的符号(单词)书写规则称为词法规则,由符号(单词)构成语法成分的规则称为语法规则。程序语言的语法可通过形式语言进行描述。
               (2)语义。程序语言中按语法规则构成的各个语法成分的含义,可分为静态语义和动态语义。
               (3)语用。表示构成语言的各个记号和使用者的关系,涉及符号的来源、使用和影响。
               (4)语境。理解和实现程序设计语言的环境,包括编译环境和运行环境。
               程序设计语言的分类
               1)命令式程序设计语言
               命令式程序设计语言是基于动作的语言,在这种语言中,计算被看作动作的序列。命令式语言族开始于FORTRAN、PASCAL和C语言,体现了命令式程序设计的关键思想。
               2)面向对象的程序设计语言
               (1)对象。对象是指人们要进行研究的任何事物,它具有状态和操作。面向对象的语言把状态和操作封装于对象实体之中,并提供一种访问机制。用户只能通过向允许公开的操作提出要求,才能查询和修改对象的状态。
               (2)类。类是面向对象语言必须提供的、由用户定义的数据类型,它将具有相同状态、操作和访问机制的多个对象抽象成一个对象类。在定义类以后,属于这种类的一个对象被称为类实例或类对象。
               (3)继承。继承是面向对象语言的另一个基本要素。继承实现了一般与特殊的关系,解决了软件的可重用性和可扩充性的问题。
               3)函数式程序设计语言
               函数式程序设计语言是一类以λ-演算为基础的语言。该语言的代表是LISP语言,其中大量使用了递归。
               函数是一种对应规则(映射),它是定义域中的每个元素和值域中唯一的元素相对应。函数可以看成一种程序,其输入就是定义在左边括号中的变量,可以将输入组合起来产生一个规则,组合过程中也可以使用其他函数或函数本身。这种用函数和表达式建立程序的方法就是函数式程序设计。函数型程序设计语言的优点之一就是表达式中出现的任何函数都可以用其他函数来代替,只要这些函数调用产生相同的值。
               4)逻辑型程序设计语言
               逻辑型程序设计语言是一类以形式逻辑为基础的语言。该语言的代表是建立在关系理论和一阶谓词理论基础上的Prolog语言。Prolog语言具有很强的推理功能,适用于书写自动定理证明、专家系统以及自然语言理解等问题的程序。
 
       可视化程序设计
        虽然OOPL提高了程序的可靠性、可重用性、可扩充性和可维护性,但应用软件为了适应Windows界面环境,使用户界面的开发越来越复杂,有关这部分的代码所占比例也越来越大,因此,微软公司推出Visual Basic以后,可视化编程技术得到了极大的欢迎,编程人员不再受Windows编程的困扰,能够所见即所得地设计标准的Windows界面。
        可视化编程技术的主要思想是用图形工具和可重用部件来交互地编制程序。它把现有的或新建的模块代码封装于标准接口封包中,作为可视化编程编辑工具中的一个对象,用图符来表示和控制。可视化编程技术中的封包可能由某种语言的一个语句、功能模块或数据库程序组成,由此获得的是高度的平台独立性和可移植性。在可视化编程环境中,用户还可以自己构造可视控制部件,或引用其他环境构造的符合封包接口规范的可视控制部件。增加了编程的效率和灵活性。
        可视化编程一般基于事件驱动的原理。用户界面中包含各种类型的可视控制部件,如按钮、列表框和滚动条等,每个可视控制部件对应多个事件和事件驱动程序。发生于可视控制部件上的事件触发对应的事件驱动程序,以完成各种操作。编程人员只要在可视化编程工具的帮助下,利用鼠标或表单建立、复制、缩放、移动或清除各种已提供的控件,然后使用该可视化编程工具提供的语言编写每个控件对应的事件程序,最后可以用解释方式运行来测试程序。这样,通过一系列的交互设计就能很快地完成一个应用项目的编程。
        另外,一般可视化编程工具还有应用专家或应用向导提供模板,按照步骤对使用者进行交互式指导,让用户定制自己的应用,然后就可以生成应用程序的框架代码,用户再在适当的地方添加或修改以适应自己的需求。
        面向对象编程技术和可视化编程开发环境的结合,改变了应用软件只有经过专门技术训练的专业编程人员才能开发的状况。它使软件开发变得容易,从而扩大了软件开发队伍。由于大量软件模块的重用和可视控件的引入,技术人员在掌握这些技术之后,就能有效地提高应用软件的开发效率、缩短开发周期、降低开发成本,并且使应用软件界面风格统一,有很好的易用性。
   题号导航      2010年下半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第49题    在手机中做本题