深圳office培训 深圳excel培训
深圳excel培训 深圳office培训
咨询服务
深圳office培训
深圳office培训
office培训
excel培训
ppt培训
vba培训
access培训
word培训
visio培训
project培训
outlook培训
数据库培训
深圳access培训
深圳sql培训
深圳office培训
 

面向对象知识及考题举例


2014年6月21日 作者: 来源:

试题(1)、(2)
已知3个类O、P和Q,类O中定义了一个私有方法F1和一个公有方法F2;类P中定义了一个公有方法F3,类P为类O的派生类;类Q为类P的派生类,它们的继承方式如下所示:
class P : public  O {…};
class Q : private P {…};
在关于类P的描述中正确的是 (1) ;在关于类Q的描述中正确的是 (2) 。
(1)A.类P的对象可以访问F1,但不能访问F2
     B.类P的对象可以访问F2,但不能访问F1
     C.类P的对象既可以访问F1,也可以访问F2
     D.类P的对象既不能访问F1,也不能访问F2
(2)A.类Q的对象可以访问F1、F2和F3
     B.类Q的对象可以访问F2和F3,但不能访问F1
     C.类Q的成员可以访问F2和F3,但不能访问F1
     D.类Q的成员不能访问F1、F2和F3
试题分析
继承机制是面向对象技术提供的另一种解决软件复用问题的途径,即在定义一个新的类时,先把一个或多个已有类的功能全部包含进来,然后再给出新功能的定义或对已有类的功能重新定义。
在继承关系中存在两个类:基类和派生类。继承的方式有3种:public、private和protected。在不同的继承方式下,派生类对基类成员的访问权限不同,外界对派生类成员的能见度也不同。
•基类中成员在派生类中的访问权限
•public继承方式:不改变基类中成员的访问权限。
•private继承方式:派生类所继承的基类成员的访问权限都改为private。
•protected继承方式:基类中private成员的访问权限不变,其余的都改为protected。
•派生类所继承的基类成员的外部能见度(外界对基类成员的访问权限)
•基类的private成员,只有基类的成员函数可以访问,派生类不能访问。
•通过private方式继承的基类成员(非private成员),只有派生类的成员函数可以访问,外界以及派生类的派生类都不能访问。
•通过protected方式继承的基类成员(非private成员),只有派生类以及该派生类的子类(非private方式产生的)可以访问,外界不能访问。
(1)、(2)考查的是外界(P的对象和Q的对象)对派生类中继承的基类成员的访问权限。解答此题的关键在于确定基类中成员在派生类中的访问权限,尤其是类Q,它是经过两次继承得到的,Q的直接基类是P,而P又是由O派生而来的。
先分析空(43)。首先应注意到类O中有一个私有方法F1。类的私有成员只有在本类中才能访问,因此凡是出现“可以访问F1”的选项都是错误的,这样选项A、C就可以排除了。其次,P是采用public继承方式从O派生而来,那么类O中的所有公有成员都是P的公有成员,在程序中的任何地方都可以访问一个类的公有成员。因此只有选项B是正确的。
空(2)可以在空(1)的基础上进行。通过继承,F1、F2、F3都成为类Q的成员。由空(1)已经得到:F1不可以被外界访问,因此凡是出现“可以访问F1”的选项都是错误的,这样A就被排除了。由于Q采用的是private继承方式,P中的成员都成为Q的private成员,即F2、F3都是Q的private成员。私有成员只有本类可以访问,所以Q的对象不能访问F2和F3,只有Q的成员才能访问它们。因此选项C是正确答案。
参考答案(1)B  (2)C


阅读:1923 上一则:UML9种不同的模型图及考题举例 下一则:2014年上半年系统集成项目管理工程师上午试题

返回前页 返回顶部
温馨提示:本中心是深圳较为专业office培训机构、咨询及报名请先预约,电话:0755-82124110。
深圳地址:深圳红荔路四川大厦1109B-1110(3号龙岗线通新岭地铁站A出口10米)
热线:0755-82124110(福田、南山、宝安) 0755-22205758(罗湖、龙岗、龙华) 13510024571(东莞、惠州、珠海、广州)
北京地址:北京清华大学华业大厦三区三楼 版权所有:深圳万博计算机教育 粤ICP备11006947号-1
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训 欢迎咨询!
您好!请点击这里咨询万博教育
深圳万博吴老师
您好!请点击这里咨询万博教育
深圳万博史老师
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训