如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PAGE第PAGE10页共NUMPAGES10页1:什么是面向对象程序设计方法?与面向过程的程序设计方法相比它有哪些优点?答:面向对象的程序设计方法用对象来表示客观世界中事物,对象之间通过消息进行沟通。因此程序可以表示为:程序=对象+消息。类是一组具有共性的对象,是具有相同属性和行为的一组对象的抽象。面向对象程序设计主要是类的设计和对象的使用。抽象、封装、继承、多态是面向对象程序设计的基本特征。面向对象程序设计与面向过程的程序设计方法相比具有如下优点:,1:系统的设计过程更加符合人类对客观世界的认知的方式。2:软件项目的开发高效快速,适合软件工程、大型的复杂的软件项目开发;3:高重用性、高可靠性、高安全性;4、便于软件的升级和维护。面向对象程序设计方法的缺点是所设计的软件运行在时间和空间效率上比面向过程的软件要低一些。2你是怎样理解面向对象的程序设计中的类、对象的概念的?答∶对象是现实世界中的实体在计算机中的表示,对象具有属性和行为。类是具有共同属性和行为的对象的抽象描述,将对象划分成类依赖于问题领域的知识。类刻划一组对象的共同属性和行为,对象是类的具体实例。类是对象的蓝图,对象是依据这个蓝图所生成的一个一个的具体的实例。类所描述的是共性,实例所表示的是个性。同一个类的不同对象是通过它们的属性值不同来区分的。3试比较说明传值调用和传引用调用这二种参数传递机制的用法的异同点。答:相同点:两者都可以实现在函数调用时,将实参的值传递给新参。不同点:(1)在值传递机制中,作为实参的表达式的值被复制到由对应的形参名所标识的一个对象中,作为形参的初始值。函数体对形参的访问、修改都是在这个标识对象上操作的,与实参无关,即数据的传递是单向的。(2)使用引用作为函数的形参时,调用函数的实参要用变量名。实参传递给形参,相当于在被调用函数中使用了实参的别名。于是,在被调用函数中对形参的操作,实质上是对实参的直接操作,即数据的传递是双向的。4请简述类的静态数据成员和函数成员的含义与用途。答:当类的静态成员包括静态数据成员和函数成员。类的静态成员成员属于类,不属于成员,即为类的所有成员所共享。静态数据成员主要用作同类对象的全局变量,起到共享公共数据的作用。类只为静态成员的生命期先于类的对象而构造。可以用作对象计数器或作为类中所有对象的“信息公告板”,协调类中所有对象统一行动。5:说明构造函数、拷贝构造函数,析构函数的用途以及它们分别在何时被调用?(1)构造函数一般用来做对象创建前的初始化工作,例如,内存的分配,变量赋初值,打开数据库连接等。它在定义一个对象或者在堆上动态地创建对象时被自动调用。(2)拷贝构造函数用来通过现存的对象来创建一个新的对象,新对象是现存对象的拷贝或克隆。它在值方式参数传递时、函数返回值为对象时自动调用时、显式地拷贝构造一个对象时。(3)析构函数一般用于对象销毁前的清理工作,例如内存的释放、关闭数据库连接。它一般在对象的生命周期结束时自动调用,也可显式地调用。6试说明3种继承方式下基类成员在派生类中的访问权限。ClassA公有成员:APub保护成员:AProt私有成员:APrvt公有继承方式ClassB:publicA公有成员:BPub+APub保护成员:BProt+AProt私有成员:BPrvt不可访问的:APrvt保护继承方式ClassB:protectedA公有成员:BPub保护成员:BProt+APub+AProt私有成员:BPrvt不可访问的:APrvt私有继承方式ClassB:privateA公有成员:BPub保护成员:BProt私有成员:BPrvt+APub+AProt不可访问的:APrvt7:请阐述3中继承方式在多层次类库设计中有何意义?答:共有继承方式,在基类的基础上添加了新功能,但不改变基类的接口,这种方式表示被继承的基类的功能设计恰当,本派生类“原封照搬”基类。私有继承方式,全面屏蔽了基类的对外接口,并且这些接口在后续的派生类不再需要,这可比喻成本派生类“全盘否定”了基类,将对基类的接口重新设计。当以保护方式继承时,对待基类接口的方式介于上述2者之间。8虚函数与一般的重载函数有何区别?答(1)重载函数可以是成员函数或友员函数,而虚函数只能是非静态成员函数。(2)重载函数只要求函数有相同的函数名,并且重载函数是在相同作用域中定义的名字相同的不同函数。而虚函数不仅要求函数名相同,而且要求函数的签名、返回类型也相同。(3)构造函数可以重载,析构函数不能重载。正好相反,构造函数不能定义为虚函数,析构函数能定义为虚函数。(4)重载函数的调用是以所传递参数序列