面向对象数据库技术复习资料1
面向对象复习提纲
过程化的方法与面向对象方法的差别在过程化的方法中,系统是围绕着过程来组织的,系统的运行通过过程间的数据传送来实现的,在该方法中过程和数据清楚地分开,因此重点分别集中在数据结构、算法和顺序步骤上,因此过程非常难以重用。
过程化方法还缺乏强有力的可视化建模技术。
该方法在分析和实现不同阶段的概念的差别很大,因此需要进行概念上的转换,因此造成了分析、设计和实现间的范畴移位。
设计模型离实现还有很长的一步。
而面向对象的方法中系统是围绕着对象组织的,系统的运行是通过对象间的消息传递而运行的,相关的数据和行为捆绑在对象中。
将问题域建模为对象使得在实现时非常自然地反应现实问题。
可视化的模型表达能力非常强使得人们易于理解。
支持强有力的概念例如抽象、封装、继承、多态等。
可视化的问题模型可以演变为问题解决模型。
设计模型距离实现只有很小的一步。
-------------------------------------------------------------------------------面向对象方法的益处需求分析结构化技术的过程分析和数据分析之间的边界从未解决。
数据流图的过程世界与实体关系图的数据世界难以共存。
过程和数据分析在某些场合可以满足要求,而在某些场合就会发生冲突。
这种冲突在实时系统模型中尤为突出,如控制过程与数据模型的对应关系经常变得不清晰。
面向对象方法在生命周期的早期就将过程和数据融合在一起。
尽管不能明确地称为“过程和数据分析”,但是在谈论面向对象时称“动态和静态分析”更为妥当,使用面向对象概念将这两方面的分析很好地协调起来。
系统设计在系统设计时,面向对象的方法既有优势,又有不足。
面向对象的优势是使设计者将软件中棘手的问题利用封装特性隐藏起来,这些问题包括难以理解的数据结构、复杂的组合逻辑、详细的过程和数据间的关系、高深的算法及关键的设备驱动程序等。
面向对象方法的缺点是应用封装和继承性是结构本身变得复杂。
2012级面向对象技术复习提纲
2012级面向对象技术复习提纲1 理解面向对象的思想(封装性、继承性、多态性),作出一个简述。
2 什么是分解、耦合度和内聚度?3 什么是动态绑定?4 什么是用例图,用例图有哪些部分组成。
5 用例图中参与者之间的关系有哪些?用例之间的关系有哪些?6 试描述用例图在UML中的地位和作用。
7 掌握用例模型的获取方法。
8 用例之间的扩展、泛化、包含三种关系有什么异同,请分别举例说明。
⏹扩展关系:基用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可以被另一个用例的行为所扩展⏹包含关系:被包含的用例(此例中的检查座位详情)不是孤立存在的,它仅作为某些包含它的更大的基用例(此例中的预订座位、安排座位)的一部分出现⏹泛化关系:用来表示参与者与参与者之间,用例与用例之间的特殊/一般化关系9 类图有哪些元素构成?类之间的关系有哪些?掌握UML中类图的绘制方法。
10 简述类的聚合和组合关系的异同点。
11 对象图的适用场景以及它的优缺点。
对象图适用于论证类模型的设计以及对源代码进行分析和说明。
其优点是能够直观理解出系统运行时的实时状态,缺点是比较复杂,工作量大。
12 掌握交互图(时序图与协作图)的绘制方法。
13 掌握活动图、状态图的绘制方法。
14 类的设计原则包括哪些内容?15 包图与组件图的概念,掌握包图的设计原则,包括稳定性和抽象度的衡量方法。
16掌握设计模式、软件复用的概念,掌握所介绍的各种设计模式(单实例、工厂、适配器、对象装饰、桥接、职责链、策略等)的用途,类图,以及相关实例。
17 什么是实体类、边界类和控制类?为什么将分析类划分成这三种类型。
实体类用于描述必须存贮的信息及其相关行为;边界类用于描述外部参与者与系统之间的交互;控制类用于描述一个用例所具有的事件流控制行为。
将分析类划分成这三种类型的好处在于:所产生的类更小更专门化;这种划分将易变的外部界面与系统基本功能进行了屏蔽,使分析模型更易于变化。
面向对象数据库系统考试
面向对象数据库系统考试(答案见尾页)一、选择题1. 面向对象数据库系统的基本特征是什么?A. 高并发读写能力B. 数据共享C. 多态性D. 封装性2. 在面向对象数据库系统中,什么是类和实例?A. 类是对象的蓝图,实例是类的具体实现B. 类是对象的集合,实例是类的实例化结果C. 类是对象的模板,实例是类的具体表现D. 类是对象的继承,实例是类的实例化3. 面向对象数据库系统中,什么是继承?A. 类之间的层次关系B. 类之间的成员变量共享C. 类之间的方法重写D. 类之间的代码复用4. 在面向对象数据库系统中,什么是多态性?A. 同一个操作作用于不同的对象时可以有不同的结果B. 同一个操作作用于不同的对象时可以有不同的结果,但结果必须相同C. 同一个操作作用于不同的对象时可以有不同的结果,且结果可以不同D. 同一个操作作用于不同的对象时可以有不同的结果,且结果必须不同5. 面向对象数据库系统中,什么是封装性?A. 对象的状态只能通过对象的方法访问B. 对象的状态只能通过类的方法访问C. 对象的状态只能通过类的属性访问D. 对象的状态只能通过类的事件访问6. 在面向对象数据库系统中,什么是关联?A. 类之间的层次关系B. 类之间的成员变量共享C. 类之间的方法重写D. 类之间的代码复用7. 面向对象数据库系统中,什么是聚合?A. 类之间的层次关系B. 类之间的成员变量共享C. 类之间的方法重写D. 类之间的代码复用8. 在面向对象数据库系统中,什么是消息传递?A. 类之间的层次关系B. 类之间的成员变量共享C. 类之间的方法重写D. 类之间的代码复用9. 面向对象数据库系统中,什么是多线程?A. 类之间的层次关系B. 类之间的成员变量共享C. 类之间的方法重写D. 类之间的代码复用10. 在面向对象数据库系统中,什么是反射?A. 类之间的层次关系B. 类之间的成员变量共享C. 类之间的方法重写D. 类之间的代码复用11. 面向对象数据库系统(OODBS)是一种基于对象的数据库管理系统,它使用对象的概念来表示数据和管理数据。
数据库复习资料详细版
一、题型简答题、选择题、填空题、设计题、操作题、命令题。
二、考核范围第1、2、3、4、5、11、12章第1章信息是对现实世界中事物的存在特征、运动形态以及不同事物间的相互联系等多种属性的描述,通过抽象形成概念。
信息是关于事物以及事物间联系的知识。
信息一般分三类:事物的静态属性信息、动态属性信息、事物间的内在联系信息。
表达信息的符号记录就是数据。
数据是信息的载体,信息是数据的内涵。
计算机是处理数据的。
作为数据的符号在计算机中都转换成二进制符号“0”和“1”保存和处理。
数据处理指对数据收集、整理、组织、存储、维护、加工、查询和传输的过程。
为实现特定数据处理目标所需要的所有各种资源的总和称为数据处理系统。
一般情况下,主要指硬件设备、软件环境与开发工具、应用程序、数据集合、相关文档等数据库指长期存储在计算机存储设备上结构化、可共享、相关联的数据集合。
数据库系统是指在计算机中引入数据库后的系统构成,由计算机软硬件、数据库、DBMS、应用程序以及数据库管理员(DBA)和数据库用户构成。
核心是数据库和DBMS数据库管理系统是专门处理数据库的软件,数据库的所有工作,包括数据库的定义、数据的录入、查询、输出,及数据库的维护和安全保护,都通过DBMS 完成,是数据库系统的核心。
数据库设计的定义:对于给定的应用环境,设计构造最优的数据库结构,建立数据库及其应用系统,使之能有效地存储数据,对数据进行操作和管理,以满足用户各种需求的过程。
数据库设计采用的基本方法是结构化设计方法,这种方法将开发过程看成一个生命周期,也称为生命周期法。
其核心思想是将开发设计过程分成若干个步骤,主要包括:系统需求调查与分析、概念设计、逻辑设计、物理设计、实施与测试、运行维护等几个阶段。
数据模型,是对客观世界的事物以及事物之间联系的形式化描述,有层次模型、网状模型、关系模型三种。
概念模型面向用户,使用用户易于理解的概念、符号、表达方式来描述事物及其联系,它与任何实际DBMS都没有关联;同时,概念模型又易于向DBMS支持的数据模型转化。
C++面向对象技术复习题汇总(含答案)
面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理.A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是( )A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’;B、name=”lin”;C、name=new char[5]; D、cout<〈name[3];7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:( )A、name[3]=’q';B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;,下面的语句中错误的是:( )A、name[3]=’q’;B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板( )template 〈class T>T max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了( )A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin〉〉x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y){……}(2) int f(int a,float b){…… }(3) int f(int i,int j){……}(4) float k(int x){…… }是重载函数。
面向对象的程序设计复习资料
⾯向对象的程序设计复习资料⾯向对象复习资料·········⼀、名词解释1、软件⼯程——建⽴在系统化、规范化、数量化等⼯程原则和⽅法上的,关于软件开发各阶段的定义、任务和作⽤的⼯程学科。
包括软件开发技术、软件项⽬管理两⽅⾯内容。
2、模型——对现实的简化,提供系统的蓝图,包含架构[总体]设计和组件[详细]设计;包含重要的因素忽略不相⼲的细节;⼀个系统可以从不同视⾓使⽤不同模型进⾏描述;模型可以是架构的[侧重于组织]、也可以关注⾏为[系统的动作]3、对象——现实世界中具有静态特征和动态特征的某个具体的实际事物。
4、封装——把属性和操作封在⼀个对象⾥,不允许外界直接存取和使⽤。
包含属性与⾏为的结合和信息屏蔽两层含义。
5、消息——向对象发出的[服务]请求,包括服务的对象标识、服务标识、输⼊信息和回答信息等。
定义对象之间单路通信,是从发送⽅到接收⽅的控制流,激发某操作、唤醒信号或导致对象的创建或撤消。
⽤箭头表⽰,符号见表6、继承——派⽣类或⼦类⾃动拥有基类或⽗类的全部属性和操作的类创建⽅法7、多态——同⼀操作作⽤于不同对象,有不同解释或不同的执⾏结果。
两种——编译时、运⾏时;3实现⽅式——接⼝、继承、抽象类。
8、UML——⼀种功能强⼤的、⾯向对象的可视化系统分析的建模语⾔[对⾯向对象系统进⾏可视化、详述、构造和⽂档化的⼯具,已成为软件建模的⼯业标准。
] 9、视图——从某个⽅⾯或⾓度出发描述系统,或表达系统某个⽅⾯特征的⼀个或多个图。
10、动作事物——时间、空间上的动作,模型的动词;最基本的是交互与状态机11、交互——⼀组对象在特定上下⽂、为达到特定⽬的进⾏⼀系列消息交换组成的动作,要列出每个操作的消息、动作次序、连接关系。
12、状态——13、⽤例——14、事件流——15、对象关联——16、可见性——描述属性和操作是否可被其他类引⽤17、活动——对象被占⽤以完成某任务,⽤矩形条表⽰。
面向对象的数据库管理系统考试
面向对象的数据库管理系统考试(答案见尾页)一、选择题1. 什么是面向对象的数据库管理系统(ODBMS)?A. ODBMS是基于关系模型的数据库管理系统B. ODBMS是基于对象模型的数据库管理系统C. ODBMS是基于逻辑模型的数据库管理系统D. ODBMS是基于Web模型的数据库管理系统2. 在面向对象的数据库管理系统中,对象通常指的是什么?A. 数据项B. 数据库中的表C. 实体D. 数据类型3. 面向对象的数据库管理系统与关系数据库管理系统的主要区别是什么?A. 数据模型B. 数据存储方式C. 查询语言D. 应用程序接口4. 在面向对象的数据库管理系统中,类和对象之间的关系是什么?A. 类是对象的蓝图,对象是类的实例B. 类是对象的集合,对象是类的成员C. 类是对象的分类,对象是类的实例D. 类是对象的模板,对象是类的实例5. 在面向对象的数据库管理系统中,继承是一种什么关系?A. 类与类之间的关系B. 类与对象之间的关系C. 对象与对象之间的关系D. 属性与属性之间的关系6. 在面向对象的数据库管理系统中,封装是一种什么关系?A. 类与类之间的关系B. 类与对象之间的关系C. 对象与对象之间的关系D. 属性与属性之间的关系7. 在面向对象的数据库管理系统中,多态是一种什么关系?A. 类与类之间的关系B. 类与对象之间的关系C. 对象与对象之间的关系D. 属性与属性之间的关系8. 在面向对象的数据库管理系统中,什么是泛化?A. 类与类之间的关系B. 类与对象之间的关系C. 对象与对象之间的关系D. 属性与属性之间的关系9. 在面向对象的数据库管理系统中,什么是封装?A. 类与类之间的关系B. 类与对象之间的关系C. 对象与对象之间的关系D. 属性与属性之间的关系10. 在面向对象的数据库管理系统中,什么是多态?A. 类与类之间的关系B. 类与对象之间的关系C. 对象与对象之间的关系D. 属性与属性之间的关系11. 在面向对象的数据库管理系统中,继承是如何实现的?A. 继承是通过在类之间定义共享属性和方法来实现的B. 继承是通过在类之间定义共享属性和方法,并且子类可以覆盖或扩展父类的方法来实现的C. 继承是通过在类之间定义共享属性和方法,并且子类可以覆盖或添加新的方法来实现的D. 继承是通过在类之间定义共享属性和方法,并且子类可以修改父类的方法来实现的12. 在面向对象的数据库管理系统中,多态性是如何实现的?A. 多态性是通过在类之间定义共享属性和方法来实现的B. 多态性是通过在类之间定义共享属性和方法,并且子类可以覆盖或扩展父类的方法来实现的C. 多态性是通过在类之间定义共享属性和方法,并且子类可以修改父类的方法来实现的D. 多态性是通过在类之间定义共享属性和方法,并且子类可以添加新的方法来实现的13. 在面向对象的数据库管理系统中,封装性是如何实现的?A. 封装性是通过在类之间定义共享属性和方法来实现的B. 封装性是通过在类之间定义共享属性和方法,并且子类可以覆盖或扩展父类的方法来实现的C. 封装性是通过在类之间定义共享属性和方法,并且子类可以修改父类的方法来实现的D. 封装性是通过在类之间定义共享属性和方法,并且子类可以添加新的方法来实现的14. 面向对象的数据库管理系统与关系数据库管理系统在数据一致性和完整性方面的主要区别是什么?A. 面向对象的数据库管理系统通常提供更强的数据一致性B. 面向对象的数据库管理系统通常提供更好的数据完整性C. 面向对象的数据库管理系统通常提供更强的数据安全性D. 面向对象的数据库管理系统通常提供更好的数据独立性15. 在面向对象的数据库管理系统中,什么是多态性?A. 多态性是指在多个对象中重复使用相同的属性和方法B. 多态性是指在多个对象中重复使用相同的类C. 多态性是指在多个对象中重复使用相同的对象D. 多态性是指在多个对象中重复使用相同的操作16. 面向对象数据库管理系统的优势包括哪些?A. 更好的数据完整性。
面向对象程序设计 复习资料
1.对象(1)从概念层面讲,对象是某种拥有责任的抽象。
(2)从规格层面讲,对象是一系列可以被其他对象使用的公共接口。
(3)从语言实现层面讲,对象封装了代码和数据。
2.软件开发中的经典阶段:需求、分析、设计、规范、实现、测试、部署、维护。
3.设计7原则:开闭原则、里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪M特原则、接口隔离原则、单一职责原则。
4.面向对象的方法学:UML(统一建模语言)、RUP(统一软件开发过程)、XP(极限编程)。
开发方法:Booch、Coad、OMT、UML、OOSE、Wirfs—Brock 5.OOA——运用面向对象方法进行需求分析。
OOD——运用面向对象方法进行系统设计。
OOP——运用面向对象方法进行程序设计。
6.OOA的基本任务:是运用面向对象的方法,对问题域和系统责任进行分析和理解,对其中的事物和它们之间的关系产生正确的认识,找出描述问题域及系统责任所需的类及对象,定义这些类和对象的属性和操作,以及它们之间所形成的结构、静态联系和动态联系。
最终目的:是产生一个符合用户需求,并能够直接反映问题域和系统责任的OOA模型及其详细说明。
优点:(1)加强了对问题域和系统责任的理解。
(2)改进与分析有关的各类人员之间的交流。
(3)对需求的变化具有较强的适应性。
(4)支持软件复用。
OOA的三大策略是:属性策略、方法策略、对象策略。
7.(1)封装:是指对象在其操作中隐藏属性。
它是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。
封装的目的是使对象的使用者和生产者分开,使对象的定义和实现分开。
例如:要从同事那里借钱,在商店购买食物,就不会抢夺同事的钱包,大翻一通,看看里面是否有足够的钱。
而应该询问他们是否可以借你一些钱,他们就会自己翻钱包。
以表示圆的一个对象作为封装的例子。
圆的操作应能计算出半径、直径、周长和面积。
假定选择存储直径,要访问直径的程序员都会选择存储直径属性,而不是通过“获取直径”的操作来访问。
Java语言及面向对象技术复习资料
Java语言及面向对象技术复习资料一、单项选择题。
1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。
B.a[1]的值是1。
C.a[0]的值是0。
D.a[a.length-1]的值等于a[2]的值。
4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。
B.(int)5.8+1.0的结果是int型数据。
C.’苹’+’果’的结果是char型数据。
D.(short)10+’a’的结果是short型数据。
5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。
B.Hello类的int Hello()方法是错误的方法。
C.Hello类没有构造方法。
D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。
class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。
B.方法的参数的名字可以和方法中声明的局部变量的名字相同。
C.成员变量没有默认值。
D.局部变量没有默认值。
7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;} B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。
面向对象数据库考试
面向对象数据库考试(答案见尾页)一、选择题1. 什么是面向对象数据库?A. 一种数据库,其数据结构以对象为单位进行组织B. 一种关系型数据库C. 一种非关系型数据库D. 一种基于Web的数据库2. 面向对象数据库与传统数据库的主要区别是什么?A. 数据模型B. 存储机制C. 操作语言D. 应用领域3. 在面向对象数据库中,什么是类?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法4. 面向对象数据库中的继承是如何实现的?A. 封装B. 多态C. 继承D. 抽象5. 在面向对象数据库中,什么是多态?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法6. 面向对象数据库中的封装是什么意思?A. 将数据隐藏在对象内部B. 将数据暴露给外部使用C. 一种数据类型D. 一种对象7. 面向对象数据库中的抽象是什么?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法8. 在面向对象数据库中,什么是关联?A. 两个对象之间的直接联系B. 两个对象之间的间接联系C. 一种数据类型D. 一种对象9. 面向对象数据库中的枚举是一种什么类型的对象?A. 数据类型B. 对象C. 属性D. 方法10. 在面向对象数据库中,什么是序列化?A. 一种数据类型B. 一种对象C. 一种属性D. 一种方法11. 面向对象数据库(OODB)与关系型数据库的主要区别是什么?A. OODB支持多种数据类型B. OODB具有更好的数据完整性C. OODB使用面向对象的查询语言(OQL)D. OODB更适合于处理大量复杂数据12. 在面向对象数据库中,什么是类和实例?A. 类是对一组具有相同属性的对象的抽象描述B. 实例是类的具体实现C. 类和实例共同定义了对象的行为D. 类是对象的蓝图,实例是根据蓝图创建的13. 在面向对象数据库中,什么是封装?A. 将数据隐藏在对象内部B. 将数据转换为公共APIC. 将数据与操作数据的代码捆绑在一起D. 将数据与对象的状态分开14. 面向对象数据库中的多态性是什么意思?A. 不同的类可以共享接口B. 同一个接口可以被不同的对象以不同的方式实现C. 对象可以继承多个接口D. 对象可以拥有自己的数据15. 在面向对象数据库中,什么是多线程?A. 同一进程内的多个线程B. 数据库中的多个用户同时进行的操作C. 数据库管理系统的一个特性D. 以上都不是16. 面向对象数据库中的关联关系有哪些类型?A. 一对一关联B. 一对多关联C. 多对多关联D. 依赖关系17. 在面向对象数据库中,什么是抽象类?A. 包含所有字段的类B. 包含所有方法的类C. 包含部分字段和方法的类D. 用于定义接口的类18. 面向对象数据库中的持久化是指什么?A. 将数据存储在磁盘上B. 将数据存储在内存中C. 将数据转换为可存储的形式D. 将数据与对象的状态分开19. 在面向对象数据库中,什么是集合?A. 一种数据结构,用于存储同类对象B. 一种数据结构,用于存储不同类型的对象C. 一种数据结构,用于存储对象的引用D. 一种数据结构,用于存储对象的索引20. 在面向对象数据库中,对象之间的关系可以通过什么来定义?A. 类与类之间的关系B. 属性与属性之间的关系C. 方法与方法之间的关系D. 继承与继承之间的关系21. 面向对象数据库的体系结构通常包括哪些层次?A. 存储层B. 操作层C. 对象类层D. 对象实例层22. 面向对象数据库中,什么是封装?A. 将数据与操作数据的函数放在一起B. 将数据与操作数据的函数分别放置C. 将数据与操作数据的函数分别放置在不同的组件中D. 将数据与操作数据的函数分别放置在不同的层次中23. 面向对象数据库中的继承有哪些类型?A. 单继承B. 多继承C. 接口继承D. 抽象继承24. 在面向对象数据库中,什么是动态聚类?A. 自动根据数据内容将对象分组B. 根据查询需求动态创建新的对象类C. 根据历史数据预测未来数据的内容D. 根据历史数据预测未来数据的内容,并自动创建新的对象类25. 面向对象数据库的查询语言通常是什么?A. SQLB. OQL(Object Query Language)C. NoSQLD. DQL(Database Query Language)26. 在面向对象数据库中,什么是泛化?A. 将数据与操作数据的函数放在一起B. 将数据与操作数据的函数分别放置C. 将数据与操作数据的函数分别放置在不同的组件中D. 将数据与操作数据的函数分别放置在不同的层次中27. 面向对象数据库中的多态性如何实现?A. 继承B. 封装C. 抽象D. 多态性28. 什么是面向对象数据库中的关联?A. 数据之间的直接联系B. 数据之间的间接联系C. 数据之间的依赖关系D. 数据之间的平等关系29. 在面向对象数据库中,什么是聚合?A. 数据对象之间的组合B. 数据对象之间的聚集C. 数据对象之间的关联D. 数据对象之间的依赖关系30. 面向对象数据库中的继承有几种类型?A. 一级继承B. 二级继承C. 三级继承D. 四级继承31. 在面向对象数据库中,什么是抽象数据类型(ADT)?A. 一种数据库的数据模型B. 一种数据库的操作接口C. 一种数据库的数据结构D. 一种数据库的数据访问方法32. 什么是面向对象数据库的四层模式结构?A. 表模式、用户模式、存储模式和概念模式B. 表模式、用户模式、局部模式和全局模式C. 表模式、视图模式、存储模式和概念模式D. 表模式、用户模式、全局模式和存储模式33. 在面向对象数据库中,什么是对象类?A. 数据对象的抽象B. 数据对象的实例C. 数据对象的组织D. 数据对象的定义34. 什么是继承在面向对象数据库中的含义?A. 子类可以继承父类的属性和方法B. 子类可以覆盖父类的属性和方法C. 子类可以添加新的属性和方法D. 子类可以限制父类的属性和方法35. 什么是泛型在面向对象数据库中的用途?A. 为了增加数据库的灵活性B. 为了增加数据库的可扩展性C. 为了增加数据库的性能D. 为了增加数据库的复杂性36. 什么是聚合在面向对象数据库中的含义?A. 两个或多个对象之间的直接联系B. 两个或多个对象之间的间接联系C. 两个或多个对象之间的弱联系D. 两个或多个对象之间的强联系37. 在面向对象数据库中,什么是动态绑定?A. 在运行时确定对象的方法调用B. 在编译时确定对象的方法调用C. 在运行时确定对象的数据成员访问D. 在编译时确定对象的数据成员访问38. 什么是反射在面向对象数据库中的用途?A. 为了增加数据库的灵活性B. 为了增加数据库的可扩展性C. 为了增加数据库的性能D. 为了增加数据库的复杂性二、问答题1. 什么是面向对象数据库?2. 面向对象数据库与传统数据库的区别是什么?3. 如何实现面向对象数据库中的对象持久化?4. 面向对象数据库的优势和劣势是什么?5. 什么是对象关系数据库?它与面向对象数据库有什么区别?6. 什么是数据库事务?它为什么重要?7. 什么是数据库索引?它有什么作用?8. 什么是数据库备份和恢复?它为什么重要?参考答案选择题:1. A2. A3. B4. C5. D6. A7. D8. A9. A 10. B11. C 12. A 13. A 14. B 15. A 16. ABCD 17. D 18. C 19. A 20. D21. ACD 22. A 23. ABCD 24. B 25. B 26. C 27. D 28. A 29. B 30. A31. B 32. A 33. A 34. A 35. A 36. A 37. A 38. A问答题:1. 什么是面向对象数据库?面向对象数据库(Object-Oriented Database,简称OODB)是一种采用面向对象方法论和关系模型相结合的数据库管理系统。
面向对象的数据库系统设计考试
面向对象的数据库系统设计考试(答案见尾页)一、选择题1. 在面向对象的数据库系统中,什么是对象-关系模型?A. 对象和关系都可以表示数据B. 对象是数据的实例,关系是数据的组织方式C. 关系可以表示对象之间的关系D. 对象和关系都是数据的表示方式2. 面向对象数据库系统(ODBMS)与传统的关系数据库系统(RDBMS)的主要区别是什么?A. ODBMS支持面向对象的数据模型B. ODBMS支持复杂查询C. ODBMS更适合处理大量数据D. ODBMS更易于维护3. 在面向对象的数据库中,类(Class)和实例(Instance)有什么不同?A. 类是对一组具有相同属性的对象的抽象描述,而实例是类的具体实现B. 类是数据的抽象,实例是数据的实例化结果C. 类定义了一组方法,实例用于执行这些方法D. 类和实例没有直接关系4. 面向对象数据库中的继承是如何实现的?A. 继承是通过在类之间定义共享属性来实现的B. 继承是通过在类之间定义共享方法来实现的C. 继承是通过在类之间定义共享代码块来实现的D. 继承是通过在类之间定义共享接口来实现的5. 在面向对象的数据库中,什么是封装(Encapsulation)?A. 将数据隐藏在对象内部,只通过公共方法访问B. 将数据隐藏在对象内部,不提供任何访问方法C. 将数据放在对象外部,通过公共方法访问D. 将数据放在对象外部,不提供任何访问方法6. 面向对象数据库系统中的多态性是指什么?A. 不同的对象可以对同一消息做出不同的响应B. 不同的对象可以对同一操作做出不同的响应C. 不同的对象可以被同一方法调用D. 不同的对象可以被同一事件触发7. 在面向对象的数据库中,什么是多维数据模型?A. 一种数据模型,其中数据以表格的形式组织B. 一种数据模型,其中数据以树状图的形式组织C. 一种数据模型,其中数据以图形的形式组织D. 一种数据模型,其中数据以网络的形式组织8. 面向对象数据库系统中的泛化(Generalization)是什么意思?A. 泛化是一种将子类对象视为父类对象的行为B. 泛化是一种将父类对象视为子类对象的行为C. 泛化是一种在多个类之间共享属性或方法的行为D. 泛化是一种在多个类之间共享对象的行为9. 在面向对象的数据库中,什么是关联(Association)?A. 两个或多个类之间的关系,其中一个类对另一个类有某种属性B. 两个或多个类之间的关系,其中一个类对另一个类有某种操作C. 两个或多个类之间的关系,其中一个类对另一个类有相同的属性D. 两个或多个类之间的关系,其中一个类对另一个类有相同的方法10. 面向对象数据库系统中的聚合(Aggregation)是什么意思?A. 两个或多个类之间的关系,其中一个类完全包含在另一个类中B. 两个或多个类之间的关系,其中一个类部分包含在另一个类中C. 两个或多个类之间的关系,其中一个类对另一个类有某种属性D. 两个或多个类之间的关系,其中一个类对另一个类有某种操作11. 面向对象数据库系统(OOSD)与传统的关系数据库系统在数据模型上有何主要区别?A. OOSD使用面向对象的数据模型,而传统关系数据库使用关系数据模型。
Java语言及面向对象技术复习资料
一、单项选择题。
1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。
B.a[1]的值是1。
C.a[0]的值是0。
D.a[a.length-1]的值等于a[2]的值。
4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。
B.(int)5.8+1.0的结果是int型数据。
C.’苹’+’果’的结果是char型数据。
D.(short)10+’a’的结果是short型数据。
5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。
B.Hello类的int Hello()方法是错误的方法。
C.Hello类没有构造方法。
D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。
class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。
B.方法的参数的名字可以和方法中声明的局部变量的名字相同。
C.成员变量没有默认值。
D.局部变量没有默认值。
7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;}B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。
高级数据库和面向对象考试资料
<仅供参考>一、高级数据库技术:4个大题:1、数据库有哪几类故障及恢复方法。
2、(类似第一堂课张大方老师布置的作业)3、戴老师内容综合题:给定如下的2个模式:职工表Employee(EmpId,Name,sex, Birth_day,Salary,DeptId),其属性分别表示工号、姓名、性别,出生日期、工资,工作部门;部门表Department(DeptId,name,ManagerId), 其属性分别表示部门编号、部门名称和部门经理的工号。
回答下列问题:(1) 试用SQL DDL语句定义部门表Employee,包含涉及的完整行约束。
(2) 写出下面的SQL语句:(2.1)查询每个部门经理的工资,要求显示其部门编号、部门名称、经理姓名、经理工号、和经理工资;(2.2)找出工资大于单位平均工资的职工,显示其部门编号和职工姓名,要求结果按照部门排序;(2.3)给部门经理增加工资30%。
(3) 创建一个view, 其字段有部门编号,部门名称,部门最高工资,部门最低工资,平均工资。
填空题:1.SQL语言是()的语言,容易学习。
(A) 过程化(B)非过程化(C)格式化(D)导航式2.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREA TE、DROP、ALTER语句是实现哪种功能()。
(A)数据查询(B)数据操纵(C)数据定义(D)数据控制4.若要撤销数据库中已经存在的表S,可用()。
(A)DELETE TABLE S (B)DELETE S (C)DROP TABLE S (D)DROP S5.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号.姓名. 性别.年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
(A)DELETE Age from S (B)ALTER TABLE S DROP Age(C)UPDA TE S Age (D)ALTER TABLE S …Age‟6.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。
面向对象数据库(ODBMS)考试
面向对象数据库(ODBMS)考试(答案见尾页)一、选择题1. 面向对象数据库(ODBMS)是一种基于对象概念的数据库管理系统,它使用对象及其之间的关系来表示和存储数据。
请问下列哪一项不是面向对象数据库的核心特性?A. 封装B. 多态C. 继承D. 抽象2. 在面向对象数据库中,类可以被实例化为对象。
以下哪个选项描述了面向对象编程中的类与对象的关系?A. 类是对象的蓝图或原型。
B. 类是对象的实例。
C. 类是对象的集合。
D. 类是对象的祖先。
3. 面向对象数据库中的继承允许我们定义一个类作为另一个类的子类。
这种机制有助于实现代码重用。
在面向对象数据库中,类之间的继承关系是如何表示的?A. 使用属性和方法的定义。
B. 使用接口的定义。
C. 使用类的层次结构。
D. 使用类的具体实例。
4. 在面向对象数据库中,封装是指将数据(属性)和操作数据的函数(方法)结合在一起,形成一个独立的单元。
这种机制有助于保护数据的完整性。
请问封装的主要目的是什么?A. 防止数据泄露B. 提高数据访问效率C. 确保数据一致性D. 保证数据安全性5. 在面向对象数据库中,多态是指允许不同的对象对同一消息做出响应的能力,即同一个接口可以被不同的对象以不同的方式实现。
这种机制有助于提高程序的灵活性。
请问多态在面向对象数据库中的应用主要体现在哪些方面?A. 不同的类可以使用相同的接口进行交互。
B. 类的实例化可以隐藏实现细节。
C. 对象的继承可以实现代码重用。
D. 类的封装可以隐藏实现细节。
6. 面向对象数据库中的关联关系是指两个或多个类之间的关系,这种关系描述了一个类与另一个类之间是否存在某种联系。
请问关联关系主要有哪几种类型?A. 一对一B. 一对多C. 多对多D. 依赖7. 在面向对象数据库中,继承和多态都是用来实现代码重用的机制。
它们的区别在于:A. 继承允许一个类继承另一个类的所有属性和方法,而多态只允许一个接口被不同的对象以不同的方式实现。
C++面向对象 复习提纲
C++面向对象部分考试复习提纲1.面向对象的三大特点:封装、继承、多态一、类1.class A{…}↓数据、数据操作封装在一起访问属性构造函数:类名()析构函数:~类名()(有3种:private【私有】;public【公有】;protected【保护】)缺省构造函数(即:没有参数的构造函数)拷贝构造函数A(A&A)补充:①inline f();函数名前面加上inline,可以令函数变为内联函数。
一般只有在函数成员的代码比较少的情况下才把函数设置为内联函数。
②友元friend f()③静态数据成员:④构造函数:完成对象的初始化。
函数名与类名相同,无返回值。
可以重载。
⑤拷贝构造函数:用已知对象去初始化一个新的对象。
⑥静态数据成员:是属于类的。
Lgw:①:在缺省条件下类中成员访问修饰符是private【私有】。
②:友元函数的使用:class A{...friend void fun(...); //说明函数fun( )是类A的友元函数...};void fun(...){class A a; //于是在此函数中,... //可以直接访问类A的私有成员}③静态数据成员的使用:class Sample{private:int a, b, c ;static int d ; // 定义静态数据成员……} s1, s2, s3;int Sample::sum = 0; //静态数据成员的初始化必需在类体外进行④关于友元函数的几点说明:①友元函数不是类的成员函数。
因此,对友元函数指定访问权限无效,可以把友元函数的说明放在private、public、protected 的任意段中。
②使用友元函数的目的是提高程序的运行效率。
③慎用友元函数,因为它可在类外直接访问类的私有或保护成员,破坏了类的信息隐藏的特性。
二、继承与派生父(基类)子(派生类) ↓派生类定义Class B :public A {…};单继承 多继承 A A B B C C 重点:①构造函数 ②基类成员在派生类中访问属性可能发生变化 二义性问题A f () A f ()BC DB:f () C:f () Class B ():A () {…}构造函数Lgw :①在C++中,有两种继承方式:单一继承和多重继承。
面向对象程序设计复习资料(可编辑修改word版)
面向对象程序设计复习资料(可编辑修改word版)面向对象程序设计期末总复习题一、单项选择题1.下面关于对象概念的描述中,是错误的。
(B)A.对象代表着正在创建的系统中的一个实体B.对象就是C 语言中的结构体变量C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的2.继承机制的作用是:(C)A.信息隐藏B.数据封装C.定义新类D.数据抽象3.有关析构函数的说法不正确的是(D)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数没有形参D.析构函数不能是虚函数4.友元的作用之一是(A)A.提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类5.通常拷贝构造函数的参数是。
(C)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名6.如果在基类中将show 声明为不带返回值的纯虚函数,正确的写法是。
(C)A.irtual show()=0;B.virtual void show();C.virtual void show()=0;D.void show=0 virtual;7.下面关于友元的描述中,错误的是。
(D)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承8.在C++中,运算符不能重载。
(B)A. +B.?:C.-D.<=9.下列关于运算符重载的描述中,是正确的。
(D)A.运算符重载可以改变操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构10.在下列函数原型中,可以作为类AA 构造函数的是(D)A.void AA(int) ; B.int AA( ) ; C.AA(int)const; D.AA(int);11.在声明类时,下面的说法正确的是。
(C)A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是 registerC.private,public,protected 可以按任意顺序出现D.没有用private,public,protected 定义的数据成员是公有成员12.继承具有,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
《面向对象分析与设计UML》期末总复习
《面向对象分析与设计UML》期末总复习1、题型介绍:选择题20 * 1分= 20分填空题 5 * 2分= 10分简答题 6 * 5分= 30分分析题3题(第一题12分,第二题12 ,第三题18分)= 40分2、选择题1、()不是对象具有的特性。
A.标识B.继承C.顺序D.多态性2、封装是把对象的()结合在一起,组成一个独立的对象。
A.属性和操作B.信息流C.消息和事件D.数据的集合3、()不是面向对象的典型方法。
A.Coad& Yourdon 方法B.维也纳方法C.OMT方法D.Booch方法4、UML中有4种关系,分别是依赖、泛化、关联和()A.集成B.合作C.实现 D 抽象5、下列关于状态图的说法中,正确的是()A.状态图是UML中对系统的静态方面进行建模的5种图之一。
B.状态图是活动图的一个特例,状态图中的多数状态是活动状态。
C.状态图是对一个对象的生命周期进行建模,描述对象在其生存期间的动态行为。
D.状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模。
6、UML的()模型图由类图、对象图、包图、组件图、和部署图组成。
A.用例B.静态C.动态D.系统。
7、UML的()模型图活动图、顺序图、状态图、写协作图组成。
A.用例B.静态C.动态D.系统。
8、UML的最终产物就是最后提交的可执行的软件系统和()A.用户手册B.类图C.动态图D.相应的软件文档资料9、在UML的需求分析建模中,()模型图必须与用户反复交流并加以确认。
A.配置B.用例C.包D.动态10、下面不是用例之间主要关系的是()A.扩展B.包含C.依赖D.泛化11、对于一个电子商务网站而言,以下不适合作为用例的选项是()A.登录B.预定商品C.购物车D.结账12、UML的客户需求分析模型包括()模型、类图、对象图和活动图。
A.用例B.静态C.动态D.系统13、UML客户需求分析产生的用例模型描述了系统的()A.状态B.体系结构C.静态模型D.功能要求14、在UML的需求分析模型中,用例建模必须与()反复交流并加以确认。
《面向对象技术》期末复习资料.docx
《面向对象技术》期末复习资料试卷题型说明:、填空题(10分)选择题(20道题40分)、判断题(10分)、简 答题(3道16分)、写出程序运行结果(4道16分)、程序填空题(1道4分) 编程题(1道4分)。
一〜二、基础题(各章的编程实例不考)1、第一章主要重点在1・2节,1・5节,其中1・6节最为重要。
1- 2:面向对彖程序语言的特征:抽彖、封装、继承和多态。
1- 5:数值型数据的输入:读取时省略数据前的空白,如果遇到正负号或数字,就开始 读数,包括浮点型数据的小数点,并在遇到空口符或其他非数字字符时停止。
1- 5-4:输出格式控制符:Setprecision (n ) n 代表输出的有效数位,包括整数的数位和小数的数位。
Setw (n ) n 代表输出的数据占有的列宽(域宽)SetiosflagsO / Resetiosflags ()用于设置或取消输入或输出的各种格式包括改变数制基数、设置浮点数的精度、转换字母的大小写、设置对齐方式等。
Ios::left/ios::right 左右对齐函数用法:Setiosflagsflos::left / ios::right ) / Resetiosflags (Ios::left / ios::right )1- 5-5: h ex十六进制 输入时在具前加Ox oct八进制 输入时在其丽加0dec 十进制 2、第二章主要重点为:(1) 指针的定义与使用(特殊指针类型不做为重点)(2) 引用的定义与使用注意事项(3) 类型转换有所涉及,但分值不是很大(4) 重点中的重点是2.7节函数部分,尤其是函数重载。
(5) 内联函数与预处理器了解一下。
(6) 作用域和生命期理解掌握,特点是变量类型与初始化。
2- 3:指针用于存放一个对象在内存中的地址,同个指针能操作这个对彖。
具有两个属 与类型无关;长度则与指针类型和关 pi 是指向int 的指针pc 是指向指针的指针 pa 是指向指针的数组f 是指向具有两个参数的函数的指针 f 是一个函数,返回一个指向int 的指针2-3-3:堆内存也成动态内存。
面向对象数据库系统考试
面向对象数据库系统考试(答案见尾页)一、选择题1. 面向对象数据库系统的基本特性是什么?A. 高并发读写能力B. 丰富的面向对象操作C. 数据库的可扩展性D. 数据库的分布式处理2. 在面向对象数据库系统中,什么是类和实例?A. 类是一种数据结构,实例是类的具体实现B. 类是一种数据结构,实例是类的实例化结果C. 类是一种程序设计语言中的类,实例是类的运行时对象D. 类是一种数据结构,实例是类的原型3. 面向对象数据库系统与关系数据库系统的区别主要体现在哪些方面?A. 数据模型B. 数据操作C. 数据存储D. 数据管理4. 在面向对象数据库系统中,什么是继承?A. 类之间的属性继承B. 类之间的方法继承C. 类之间的状态继承D. 类之间的所有特性继承5. 面向对象数据库系统中的封装性是指什么?A. 对象的状态只能通过对象的方法进行访问B. 对象的状态只能通过对象的属性进行访问C. 对象的状态只能通过类的方法进行访问D. 对象的状态只能通过类的属性进行访问6. 在面向对象数据库系统中,什么是多态?A. 不同的对象可以对同一消息做出不同的响应B. 不同的对象可以对同一消息做出相同的响应C. 同一对象可以对不同消息做出不同的响应D. 同一对象可以对同一消息做出相同的响应7. 面向对象数据库系统中的多继承是指什么?A. 一个类可以有多个父类B. 一个类可以有多个子类C. 一个类可以有多个父类和子类D. 以上都不正确8. 在面向对象数据库系统中,什么是抽象类?A. 包含抽象方法的类B. 包含抽象属性的类C. 包含抽象操作的类D. 包含抽象实体的类9. 面向对象数据库系统中的关联类是什么?A. 用来表示实体之间的关系B. 用来表示实体之间的属性C. 用来表示实体之间的方法D. 用来表示实体之间的所有关系10. 在面向对象数据库系统中,什么是泛化?A. 一种特殊的类,包含所有的对象B. 一种特殊的类,不包含任何对象C. 一种特殊的类,包含所有的抽象类D. 一种特殊的类,包含所有的子类11. 面向对象数据库系统中的继承是如何实现的?A. 基于类之间的继承关系B. 基于类之间的接口实现C. 基于类之间的属性继承D. 基于类之间的方法继承12. 在面向对象数据库系统中,什么是封装?A. 将数据隐藏在对象内部,只通过对象的方法访问B. 将数据隐藏在对象内部,通过公共方法访问C. 将数据放在对象外部,通过公共方法访问D. 将数据放在对象外部,通过私有方法访问13. 面向对象数据库系统中的多态性如何体现?A. 子类可以覆盖父类的方法,实现不同的功能B. 子类可以重写父类的方法,实现相同的功能C. 子类可以添加新的方法,实现不同的功能D. 子类可以修改父类的方法,实现相同的功能14. 在面向对象数据库系统中,什么是关联?A. 两个或多个表之间的关系,其中一个表是另一个表的外键B. 两个或多个表之间的关系,其中一个表包含另一个表的所有数据C. 两个或多个表之间的关系,其中一个表是另一个表的一部分D. 两个或多个表之间的关系,其中一个表包含另一个表的部分数据15. 面向对象数据库系统中的抽象类和接口有什么区别?A. 抽象类不能被实例化,接口可以被实例化B. 抽象类和接口都不能被实例化C. 抽象类可以被实例化,接口不能被实例化D. 抽象类和接口都可以被实例化16. 在面向对象数据库系统中,什么是聚合?A. 两个或多个表之间的关系,其中一个表是另一个表的外键B. 两个或多个表之间的关系,其中一个表包含另一个表的所有数据C. 两个或多个表之间的关系,其中一个表是另一个表的一部分D. 两个或多个表之间的关系,其中一个表包含另一个表的部分数据17. 面向对象数据库系统中的复合对象是如何定义的?A. 将多个对象组合在一起形成一个更复杂对象B. 将多个对象组合在一起形成一个单一对象C. 将多个对象组合在一起形成一个独立的对象D. 将多个对象组合在一起形成一个新的对象类型18. 在面向对象数据库系统中,什么是反射?A. 对象的状态和行为的一种表示B. 对象的属性和方法的一种表示C. 对象的配置信息的一种表示D. 对象的元数据的一种表示19. 面向对象数据库系统的基本特征是什么?A. 存储对象B. 高并发读写C. 对象类和继承D. 数据库事务20. 在面向对象数据库系统中,什么是对象类?A. 数据对象B. 数据对象的集合C. 具有相同属性和操作的类的集合D. 数据对象的状态21. 面向对象数据库系统对对象关系的建模是通过什么实现的?A. 关系模型B. 面向对象模型C. 对象关系模型D. 数据库模式22. 面向对象数据库系统中的多态性是如何表现的?A. 类可以实现多个接口B. 类可以有多个属性C. 类可以有多个方法D. 类可以有不同的状态23. 在面向对象数据库系统中,什么是动态查询?A. 根据输入动态生成查询语句B. 根据用户输入动态修改查询语句C. 根据统计信息动态生成查询语句D. 根据查询条件动态生成查询语句24. 面向对象数据库系统中的泛化是什么?A. 将子类对象当作父类对象处理B. 将子类对象当作不同的对象处理C. 将子类对象当作相同的对象处理D. 将子类对象当作特殊的父类对象处理25. 面向对象数据库系统中的持久化是指什么?A. 将数据存储在文件中B. 将数据存储在内存中C. 将数据存储在数据库中D. 将数据存储在缓存中26. 面向对象数据库系统的核心特性是什么?A. 对象持久性B. 类继承C. 多态性D. 动态查询27. 在面向对象数据库系统中,什么是类?A. 数据结构的抽象B. 数据库中的表C. 对象的蓝图或模板D. 数据库中的列28. 面向对象数据库系统中的对象可以包括哪几种类型?A. 实体类B. 操作类C. 控制类D. 维护类29. 在面向对象数据库系统中,什么是多态性?A. 同一个操作可以作用于不同的对象上产生不同的结果B. 不同的对象可以对同一消息做出响应C. 对象的操作可以具有不同的参数D. 对象的状态可以改变30. 面向对象数据库系统如何处理数据完整性?A. 通过约束条件B. 通过存储过程C. 通过触发器D. 通过视图31. 面向对象数据库系统与关系数据库系统的查询语言有何不同?A. 面向对象数据库系统的查询语言更接近于自然语言B. 面向对象数据库系统的查询语言更注重数据的结构和关系C. 面向对象数据库系统的查询语言更侧重于操作的原子性D. 面向对象数据库系统的查询语言更类似于关系数据库系统的查询语言32. 面向对象数据库系统的基本特点是什么?A. 高并发读写能力B. 数据库管理系统提供类定义语言(DDL)C. 支持封装、继承和多态D. 所有以上特性33. 在面向对象数据库系统中,什么是对象关系模型?A. 数据库中的关系表B. 一种对象类型与关系表之间的映射C. 一种对象的集合D. 一种数据结构34. 面向对象数据库系统与传统数据库系统的区别主要体现在哪些方面?A. 数据模型B. 查询语言C. 并发处理D. 数据存储方式35. 面向对象数据库系统中的类可以表示现实世界中的什么?A. 实体类B. 控制类C. 数据类D. 以上所有36. 面向对象数据库系统中的多态性如何实现?A. 封装B. 继承C. 抽象D. 多态性是面向对象编程的一个固有特性,无需特别实现37. 面向对象数据库系统中的多继承是如何实现的?A. 封装B. 继承C. 抽象D. 多态性38. 面向对象数据库系统中的封装是指什么?A. 将数据与操作数据的代码封装在一起B. 将数据与操作数据的代码分别封装在不同的类中C. 将数据与操作数据的代码封装在同一个类中39. 面向对象数据库系统中的关系模型与纯关系数据库模型的主要区别是什么?A. 数据模型B. 查询语言C. 并发处理D. 数据存储方式二、问答题1. 什么是面向对象数据库系统(OODBS)?请简述其核心特性。
自考《数据库原理》知识点之面向对象数据库
自考《数据库原理》知识点之面向对象数据库考核要求:达到“识记”层次知识点:基本概念8.3.1 面向对象数据模型的基本概念(1)对象:客不雅世界中的实体经过抽象称为问题空间中的对象,它是对一组信息及其操作的描述。
对象由三部分组成:一组变量;一组消息;一组方法(2)类:是具有相同的变量名和类型、相同的消息和使用相同的方法的对象的集合。
类中的每个对象称为类的实例(3)继承性:允许不同类的对象共享他们公共部分的结构和特性。
单重继承性:一个子类继承某一个超类的结构和特性,称为单重继承性。
多重继承性:一个子类继承多个超类的结构和特性,称为多重继承性。
(4)对象标识:与对象的物理存储位置无关,也与数据的描述方式和值无关的一个标识。
在对象创建的瞬间,由系统赋给每个对象一个“标识”,即系统内的一个唯一的指针,在对象保存期内,这个标识不成改变。
在面向对象语言中,对象标识是一个指针一级的概念(5)对象包含:不同类的对象之间存在的包含关系称为对象包含,包含其他对象的对象称为复合对象。
Notice:继承是” is a “联系,包含是”is part of”联系。
比如卡车是车的子类(继承),车包含轮胎(包含)8.3.2 持久化程序设计语言OOPL:面向对象语言对现有的OOPL进行扩充,使之能处理数据库,这样的OOPL称为持久性程序设计语言。
持久化语言与嵌入式SQL语言的不同:(1)格式转换对程序员透明;(2)程序员可直接把持持久数据。
(具体内容可拜见教材P211)一些基本概念:持久数据:是指创建这些数据的程序运行终止后数据依然存在于系统之中。
持久指针:持久化指针不像内存中的指针,它在程序执行后及数据重组后仍保持有效。
在概念上,持久指针可以看作是数据库中指向对象的指针。
查找数据库对象的三种方法:(1)按照对象名找对象;(2)按照对象标识找对象;(3)将对象按聚集形式存放,然后利用程序循环找所需对象。
8.3.3 持久化C++系统C++中可以说明一个称为Persistent_Object(持久对象)的类及其属性和方法来支持持久性,而其他的类作为该类的子类继承其持久性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单选题(本大题共20小题,每小题2分,共40分)(请将最符合题意的答案代码填写在相应的题号括号内,错选、多选或未选均无分。
)1.在当前表中查询,若无满足条件的记录,下列函数中,其值为.T.的是( )。
A)BOF() B)FOUND()C)EOF()D)RECNO()2.一数据库名为学生,要想打开该数据库,应使用命令( )。
A)OPEN 学生B)OPEN DATABASE 学生C)USE DATABASE 学生D)USE 学生3.在下列的数据类型中,默认值为.F.的是( )。
A)数值型B)字符型C)逻辑型D)日期型4.在Visual FoxPro中,调用表设计器建立数据库表“学生.DBF”的命令是( )。
A)MODIFY STRUCTURE 学生B)MODIFY COMMAND 学生C)CREATE 学生D)CREATE TABLE 学生5.下列操作中,不能用MODIFY STRUCTURE命令实现的是( )。
A)为表增加字段B)删除表中的某些字段C)对表的字段名进行修改D)对记录数据进行修改6.在Visual FoxPro中,下面关于自由表的叙述正确的是( )。
A)自由表和数据库表是完全相同的B)自由表不可以加入到数据库中C)自由表不能建立字段级规则和约束D)自由表不能建立候选索引。
7.执行命令LIST NEXT 1后,记录指针的位置指向( )。
A)下一条记录B)原来的记录C)首记录D)尾记录8.下列命令中,能够进行条件定位的命令是( )。
A)SKIP B)GO C)LOCATE D)SEEK9.不能向表文件增加记录的命令是( )。
A)BROWSE B)APPEND C)INSERT D)REPLACE10.对表文件中的记录进行修改,不需要交互操作的命令是( )。
A)EDIT B)CHANGE C)REPLACE D)BROWSE11.在Visual FoxPro中,建立索引的作用之一是( )。
A)节省存储空间B)便于管理C)提高查询速度D)提高查询速度和更新速度12.在VFP中,在两个表的主索引之间建立的联系是( )。
A)一对一联系B)一对多联系C)一对一联系和一对多联系都可以D)以上都不正确13.设职工表和按“工作日期”索引文件已经打开,要把记录指针定位到工作刚好满90天的职工,应当使用命令( )。
A)FIND DATE()-90B)SEEK DATE()+90C)FIND DATE()+90D)SEEK DATE()-9014.Visual FoxPro参照完整性规则不包括( )。
A)更新规则B)删除规则C)查询规则D)插入规则15.下列命令在不带任何子句(短语)时,可对当前表中所有记录操作的命令是( )。
A)DISPLAY B)RECALL C)DELETE D)COUNT16.如果成功的执行了命令H—>KCH,M—>KCH,则说明( )。
A)两个KCH都是内存变量B)前一个KCH是内存变量,后一个KCH是字段变量C)两个KCH都是字段变量D)前一个KCH是字段变量,后一个KCH是内存变量17.Visual FoxPro中,使用SET RELATION命令可以建立两个表之间的联系,这种联系是( )。
A)永久联系B)临时联系或永久联系C)临时联系D)普通联系18.Visual FoxPro在SQL方面不支持( )。
A)数据定义功能B)数据查询功能C)数据操纵功能D)数据控制功19.在SQL查询时,用WHERE子句(短语)指出的是( )。
A)查询目标B)查询结果C)查询条件D)查询视图20.某商场的销售数据库有如下表:部门表(部门号,部门名称)和商品表(部门号,商品号,商品名称,单价,数量,产地)。
下面SQL语句的查询结果是( )。
SELECT部门表.部门号,部门名称,SUM(单价*数量) FROM部门表,商品表;WHERE 部门表.部门号=商品表.部门号GROUP BY 部门表.部门号A)各部门商品数量合计B)各部门商品金额合计C)所有商品金额合计D)各部门商品金额平均值二、多选题(本大题共5小题,每小题3分,共15分)(选对1个得1分,全对得3分,多选不得分;将最符合题意的答案直接填进括号内)21.如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的联系不属于( )。
A)一对一联系B)一对二联系C)多对多联系D)一对多联系22.在下列四个选项中,属于基本关系运算的是( )。
A)比较B)连接C)选择D)投影23.在Visual FoxPro中,下列选项中是常量的是( )。
A)ABC B) 1.4E+2C)"ABC" D)11/10/201024.下列四个表达式中,正确的表达式是( )。
A)DATE()+CTOD("11/20/2010")B)DATE()+20C)DATE()-CTOD("11/20/2010")D)DATE()-2025.如果内存变量C存放的字符为"A"或"a"时,下列表达式的值为.F.的是( )。
A)C<>"A".OR.C<>" a"B)C<>"A" AND C<>" a"C)NOT(C="A" OR C="a")D)NOT(C="A" AND C="a")三、判断题(本大题共10小题,每小题1分,共10分)(请在括号内直接填入正确答案,错的写F,对的写T)26.相继执行以下两条命令:M=[10+20] 和?M,屏幕上显示的输出结果是30。
( )27.表达式“职称>=[副教授]”符合职称为“副教授”或“教授”这个要求。
( )28.若X=.NULL.,执行IS NULL(X)命令后,屏幕显示结果为.T.。
( )29.打开数据库时,其中的数据库表会自动打开。
( )30.使用BROWSE命令可以对当前表中的记录进行预览、修改、删除、追加及插入操作。
( )31.在没有打开索引的情况下,执行SKIP RECNO( )+3命令相当于执行GO RECNO( )+3命令。
( )32.利用菜单设计器设计菜单时,各菜单项及其功能必须由用户自己定义。
( )33.执行SORT命令时,先对当前表中的记录按指定的关键字进行排序,然后将按排序后的全部记录重新存入原文件中。
( )34.对自由表XS.DBF建立索引后,XS.DBF中的数据全部按索引顺序存入索引文件中。
( ) 35.在Visual FoxPro中,建立数据库表时,将年龄字段值限制在18~60岁之间的这种约束属于参照完整性约束。
( )四、填空题(每小题2分,共10小题,合计20分)(请在空白处直接填入正确答案)36.在关系数据库的基本操作中,把两个关系中相同属性的元组连接到一起形成新的二维表的操作称为_________________________________。
37.在Visual FoxPro中,扩展名为PJX的文件是_________________________文件。
38.设A=“45.678”,且表达式STR(&A,2)+"12&A"的值是______________________。
39.表达式ROUND(15.8,-1)<INT(15.81)的值是________________________________。
40.函数LEN(SPACE(3)-SPACE(2))的值是_____________________________________。
41.若某个表中有2个备注型字段和1个通用型字段及其它类型字段,则该表备注文件有____________________个42.使用USE命令打开表时,USE命令中的ALIAS子句(短语)的作用是为打开的表指定_________________________________________。
43.执行以下程序序列之后,最后一条命令的显示结果是_________________________。
USE RSSTORE RECNO( )=3 TO MM44.要在当前表的第5条记录与第6条记录之间插入一条非空的记录,可以使用GO 6_______________________________两条命令在DO WHILE……E NDDO循环结构中,若要终止循环,将控制转移到本循环结构后面的第一条语句继续运行,应执行_____________________________命令3分,共5小空,合计15分)(请在空白处直接填入正确答案)程序的功能是:从键盘输入一个十进制正整数N,将N转换成相应的十六进制整数输入一个正整数" TO N____________________"——>",X,"H"47.某级数前两项A1=1,A2=1,以后各项具的如下关系An=An-2+2An-1下面程序的功能是:对于由键盘输入的正整数M(M>5)求出对应的N值,便其满足Sn<M<=Sn-1,这里Sn=A1+……An。
请填空CLEAKINPUT [输入一个正整数:] TO MSTORE 1 TO A1, A2STORE 2 TO N, SDO WHILE .T.A=A1+2*A2S=S+A N=N+1A1=A2______________________IF S>=MEXITENDIFENDDO[N的值为:], _________________。