北方工业大学面向对象真题复习题及答案_第1页
北方工业大学面向对象真题复习题及答案_第2页
北方工业大学面向对象真题复习题及答案_第3页
北方工业大学面向对象真题复习题及答案_第4页
北方工业大学面向对象真题复习题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面对对象方法有哪些特点?(1.)抽象:抽象就是无视一个主题中与当前目标无关的那些方面,以便更充分地留意与当前目标有关的方面。抽象并二是数据抽象对象的一个类可以从现有的类中派生,这个过程称为类继承。类继承了原始类的特性,类称为原始〔子类〔父类并且类可以修改或增加的方法使之更适合特别的需要。根本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象多态性语言具有机敏、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。机敏性:对象的功能执行是在接到消息是确定的,使得对象可以依据自身的特点进展功能实现.易维护性:对象实现抽象和封装后,使可能消灭的错误根本限制在自身内部,易于检错和修改.增量性设计:面对对象系统可以供给继承机制不断扩大功能,而不影响原有软件的运行.。对象的处理是自治的,由对象构成的系统处理是分布式的代码共享:继承性供给了一种代码共享的手段,可以避开代码的重复设计.面对对象程序设计与大型程序设计有哪些关系?答:大型程序是依据待解决问题的简洁度来判定。ab大型程序的实现要求:a正确性;b易维护性;c可读性;d可重用性模块分解:a基于功能的模块分解〔横向。依据流程图,以数据为模块的界面.b基于数据抽象的模块分解。依据信息隐蔽,用数据上的操作为界面软件系统设计=大型程序设计+小型系统设计面对对象的设计方法软件系统设计=面对对象设计+面对对象程序设计有哪些面对对象语言?– Kay1972SmallTalk-72,SmallTalk-74,SmallTalk-78,SmallTalk-80〔强调了对象概念的统一,引入类、方法、实例等概念和术语,应用了单继承和动态连接〕。C++,AT&T,BjarneStroustrup对CObject-C,康涅迪格大学的BradJ.CoxCSmallTalk-80Eiffel,InteractiveSoftwareInc.的BertrandMeyerCtalk,C+SmalltalkPOOL,阿姆斯特丹大学的AmericaFooplog,对象、函数式、规律式三者结合ADAJava,Sun,90面对对象设计方法与其它设计方法的比较?〔1〕横向比较:a函数程序设计将计算过程看作函数作用过程;b程看作推演过程;c构造化程序设计特点:优点:与非构造化程序相比,构造化程序在调试、可读性和可维护性等方面都有很大的改进。缺点:编写。由于软、硬件技术的不断进展和用户需求的变化,依据功能划分设计的系统模块简洁发生变化,使得开发出来的模块的可维护性欠佳。修订,这样就增加了很多的编程工作量。面对对象的优点:拟现实世界中的对象,使程序设计过程更自然、更直观。构造化程序设计特点:优点:与非构造化程序相比,构造化程序在调试、可读性和可维护性等方面都有很大的改进。缺点:编写。由于软、硬件技术的不断进展和用户需求的变化,依据功能划分设计的系统模块简洁发生变化,使得开发出来的模块的可维护性欠佳。修订,这样就增加了很多的编程工作量。面对对象的优点:拟现实世界中的对象,使程序设计过程更自然、更直观。而言,数据具有更强的稳定性。行通信。这样,我们不必知道一个对象是怎样实现其行为的,只需通过对象供给的接口进展通信的。面对对象把一个简洁的问题分解成多个能够完成独立功能的对象〔类〕,然后把这些对象组部件〔已设计好的对象〕依据确定关系组合成一个完整的系统。这样使得软件开发更有效率。解释以下概念:对象;消息;封装;协议;类;继承;对象:对象就是我们生疏世界的根本单元,它可以是人,也可以是物,还可以是一件事。整个世界就是形形色色的对象组成。程序=对象+消息消息是指一个对象要求另一个对象执行某个功能操作的规格的说明,通过消息传递才能完成对象之间的相互恳求或相互协作。节清楚地分别开。协议协议中所供给的消息。类:类是对一组具有共同的属性特征和行为特征的对象的抽象。面对对象中,类就是具有一样的对象的描述。类和对象是抽象和具体的关系,类是对多个对象进展综合抽象的结果,对象又是类的个体实物,一个对象是类的一个实例。力。也就是说一类〔派生类、子类〕对象具有另一类〔〕对象的性质〔数据和操作。类对象的特征和力气。什么是实例?类于实例的关系是什么?答案:任何单个对象都是某个类的实例。一个类的全部实例都承受同样的方法处理消息,但每个实例又有自己的私有存储单元。类和实例的关系:抽象和具体的关系.a类的全部实例能响应的消息模式一样,且承受同样的方b实例是类的具体化,类是某些有一样点事物的统括类和对象是抽象和具体的关系,类是对多个对象进展综合抽象的结果,对象又是类的个体实物,一个对象是类的一个实例什么是继承?分为哪几种?类对象的特征和力气。按继承源上分:继承分为:单继承:指每个派生类只直接继承了一个基类的特征多继承:指多个基类派生出一个派生类的继承关系,多继承的派生类直接继承了不止一个基类的特征。按继承内容上分:取代继承,包含继承,受限继承,特化继承继承方式:public,proteced,privatepubli〔公有继承private。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。〔2〕privat〔私有继承:继承时基类中各成员属性均变为privat,并且基类中成员被隐蔽。派生类的成员也只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。3protecte保护性继承protecte成员被隐蔽。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。对象间的关系有哪几种?对象间的创立关系:也是一种托付关系的具体实现对象间的聚合关系〔包含关系〕对象通讯关系:消息流图描述系统中对象间的消息流实例化关系:对象是一个类的实例,类是对象的抽象模板解释以下概念:多态;作用域;语景;深拷贝;浅拷贝多态:多态,意味着一个对象有着多重特征,可以在特定的状况下,表现不同的状态,从而对应同的行为方式。作用域:通常来说,一段程序代码中所用到的名字并不总是有效 /可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。 作用域的使用提高了程序规律的局部性,增加程序的牢靠性,削减名字冲突语景:作用域是针对语言中的一个符号〔如变量〕或一个程序段〔如函数〕的可访问性而言的;深拷贝:不紧复制对象的根本类,同时也复制原对象中的对象.就是说完全是对象产生的;深拷贝是得到一个对象的副本的操作;浅拷贝:只复制对象的根本类型,对象类型,仍属于原来的引用;浅拷贝是得到一个对象的指针的操作强类型与弱类型的区分在哪?它们的代表语言?强类型与弱类型的区分:强类型,意味着必需事先声明变量,并且该变量只可用于表示一种类型的数据(例如或者一个整数或者一个字符串)。弱类型,即一个变量不必声明其类型,一个被用于表示字符串的变量在后面的程序中也可用来表示数字;代表语言:C,c#,java是强类型语言,VBScript,PHP弱类型语言。面对对象分析的任务是什么?面对对象分析的根底是什么?面对对象的任务是:了解问题域内的相关对象及对象间的关系和作用,然后构成问题域的对象模型,尽量使模型真实反映处所要解决问题的实质面对对象的根底是:模拟技术和面对对象技术,从模拟技术中吸取了属性、关系等对象概念,从面对对象技术中吸取了封装、分类构造等概念。a在分析和说明整体框架中贯穿构造化方法,如对象和属性,整体和局部,类和成员等.b讯制和协议称为部件对象模型面对对象分析和设计方法有哪些,其优势是什么?对当前的问题,但也应有足够的通用化适应将来的问题。尽量避开重复设计。OOA方法以及OODBoochJocobson方法也称为OOSE,该方法特别强调使用实例RambaughOMTCoadYourdon优势:集中相关数据和功能来直接模拟问题世界中的对象,并且开发的各个阶段都围绕对象范型进展。解释以下概念:OLE;ActiveX;COM;GUIDOLE:ObjectLinkingandEmbedding,对象连接与嵌入,简称OLEOLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“数据集合和操作数据的函数)“连接”的机制,这种连接机制和协议称为部件对象模型。ActiveX: .是组件〔或对象〕打包,.以便可以重用Web页或其他程序中插入。由一组开发和实现Internet网上应用程序的技术或部件构成,ActiveX的核心技术也OLEOLEInternet〔或对象〕打包,别人编程功能.以便可以重用Web页或其他程序中插入。COM:COMComponentObjectModel〔组件对象模型〕COM组件是以WIN32动态链接库〔DLL〕或可执行文件〔EXE〕形式公布的可执行代码组。是一个定义组件的标准,它在最根本的层次定义组件是什么,如何识别它们,如何定位它们,如何装入它们,如何访问它们以及如何与它们通信。GUID:GloballyUniqueIdentifier〔全球唯一标识符〕GUID〔全球唯一标识〕是微软使用的一个术语,由一个特定的算法,给某一个实体,如Word文档,创立一个唯一的标识,GUID值就是这个唯一的标识码。GUID广泛应用于微软的产品中,用于识别接口、复制品、记录以及其他对象。不同类型的对象对应不同的GUID值。例如,一个微软Access数据库使用的是16字节域为复制品创立一个唯一标识。什么是设计模式?模式是为了可重用代码、让代码更简洁被他人理解、保证代码牢靠性。Singleton单例模式,就是只有一个实例,作为对象的创立模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统供给这个实例。这个类称为单例类。明显单例模式的要点有三个;一是某个类只能有一个实例;二是它必需自行创立这个实例;三是它必需自行向整个系统供给这个实例。在下面的对象图中,有一个 “单例对象“,而“客户甲“、“客户乙“和“客户丙“是单例对象的三个客户对象。可以看到,全部的客户对象共享一个单例对象。而且从单例对象到自身的连接线可以看出,单例对象持有对自己的引用。〔1〕1995年Gamma等提出〔2〕独特之处:描述格外简洁,实现却很简洁〔3〕描述:保证一个class只有一个instance〔实体,并为它供给一个全局访问点4〕用途:当你模塑model〕一些“从概念上来说,在程序中只有唯一实体”的型别,如键盘、显示器、打印治理器等〔5〕Singleton不存在所谓“最正确”实现方案,只能依据要解决的具体问题来选择适宜的实现Singleto〔单子,对象创立型模式访问点。publicpublicclassSingleton{privateSingleton{}//在自己内部定义自己一个实例,是不是很惊异?//留意这是private只供内部调用privatestaticSingletoninstance=newSingleton;//这里供给了一个供外部访问本class的静态方法,可以直接访问publicstaticSingletongetInstance{returninstance;}}其次种形式其次种形式:publicpublicclassSingleton{privatestaticSingletoninstance=null;publicstaticsynchronizedSingletongetInstance{if(instance==null)instance=newSingleton;returninstance; }}所谓函数重载是指同一个函数名可以对应着多个函数的实现,可以给函数名 add定义多个函数实现,该函数的功能是求和,即求两个操作数的和。其中,一个函数实现是求两种实现对应着一个函数体,这些函数的名字一样,但是函数的参数的类型不同。这就是函数重载的概念。函数重载在类和对象的应用尤其重要。函数的掩盖:掩盖是指派生类中存在重定义的函数,其函数名、参数列、返回值类型必需同父类中的相对应被掩盖的函数严格全都,掩盖函数和被掩盖函数只有函数体〔花括号中的局部〕函数版本,这种机制就叫做掩盖。区分:下面我们从成员函数的角度来表达重载和掩盖的区分。成员函数被重载的特征有:一样的范围〔在同一个类中;函数名字一样;参数不同;关键字可有可无。掩盖的特征有:不同的范围〔分别位于派生类与基类;函数名字一样;参数一样;基类函数必需有virtual关键字。重载是在一样名字空间作用域下,而掩盖则是在不同的名字空间作用域下,友元,运算符重载友元是一种定义在类外部的一般函数,但它需要在类体内进展说明,为了与该类的成员函数加以区分,在说明时前面加以关键字 friend。友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元,运算符重载:所谓运算符重载,就是对已有的运算符重进展定义,赐予其另一种功能,以适应不同的数据类型友元函数:一个被赐予访问一个类非public成员权限的非成员函数,它在没有打破封装状况下改善接口。在运算符重载时比较有用〔特别时两变元运算符。重载运算符的名字:只有C++预定义的运算符集中的运算符才能重载。但有几个特例,而且对于内部类型的操作符它们的意义不能转变。不能重载的运算符:.*sizeoftypeid重载运算符的设计:当类设计者定义好了公有接口后,就可以考虑每个操作和运算符之间是否isEmpty可变为operator!

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论