《面向对象程序设计》第04章在线测试

网上有关“《面向对象程序设计》第04章在线测试”话题很是火热,小编也是针对《面向对象程序设计》第04章在线测试寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

《面向对象程序设计》第04章在线测试

剩余时间:

59:57

答题须知:1、本卷满分20分。

2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。

3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。

第一题、单项选择题(每题1分,5道题共5分)

1、已知类 A 是类 B 的友元,类 B 是类 C 的友元,下面说法正确的是 (D )

A、类 A 一定是类 C 的友元 B、类 C 一定是类 A 的友元

C、类 C 的成员函数可以访问类 B 的对象的任何成员 D、类 A 的成员函数可以访问类 B 的对象的任何成员

2、引入友元的主要目的是为了( C)。

A、增强数据安全性 B、提高程序的可靠性

C、提高程序的效率和灵活性 D、保证类的封装性

3、下面的语句能将函数void A(){} 定义为类B的友元函数的是(A )

A、class B{ friend void A();}; B、class B{ static friend void A();};

C、class B {friend static void A();}; D、class B {frined A(){};};

4、如果在类B 中定义友元,其中正确的是:C

A、class B { friend int fun(A , B&);}; B、class B { friend int fun(A , B );};

C、class B { friend int fun(A&, B&);}; D、class B { friend int fun(A&, B );};

5、关于友元类的定义正确的说法是(C )

A、如果在类B中定义友元类A ,必须先定义类A B、如果在类B中定义友元类A ,必须先定义类B

C、如果在类B中定义友元类A ,可以定义类B,后定义类A,但是必须在类B的定义之前,对类A向前引用说明 D、类A是类B的友元,类A 和类B 的定义顺序没有先后之分

第二题、多项选择题(每题2分,5道题共10分)

1、一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是( ABC)。

A、有this指针,有默认操作的对象

B、没有this指针,可以有默认操作的对象

C、有this指针,不能执行默认操作

D、没有this指针,也就没有默认操作的对象

2、下面关于友元函数正确的说法是(AD )

A、在类中用关键词friend声明友元函数

B、友元函数说明的位置只能在类的public区

C、友元函数的定义只能放在类的外部

D、友元函数不是类的成员函数

3、如果类 a 被说明成类 b 的友元,则下面的说法错误的是 ( ABC) 。

A、类 a 的成员即类 b 的成员

B、类 b 的成员即类 a 的成员

C、类 a 的成员函数不得访问类 b 的成员

D、类 b 不一定是类 a 的友元

4、下面关于友元函数使用特点的说明正确的是(AC )

A、友元函数可以绕开成员函数直接访问类的私有和保护成员,避免调用成员函数相关的开销

B、友元函数虽然不是类的成员函数,但是因为友元函数是在类内说明的,所以也带有用this指针

C、友元函数可以以使用类内的所有成员,因此破坏了数据的安全性

D、友元函数的形参如果是类对象,可以用对象名,对象的引用或者对象指针

5、关于友元的描述中正确的是(ABC/AC(错误) )

A、友元函数可以访问该类的私有数据成员

B、一个类的友元类中的成员函数都是这个类的友元函数

C、友元可以提高程序的运行效率

D、类和类之间的友元关系可以继承

第三题、判断题(每题1分,5道题共5分)

1、某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。

正确 错误T

2、友元函数说明的位置只能在类的public区。

正确 错误F

3、友元函数一定不是本类的成员函数,但却可以访问本类中的所有成员。

正确 错误T

4、友元函数的返回值如果是某个类的对象的话,返回值类型必须是类对象的引用。F

正确 错误

5、友元具有传递性,单向性和继承性的特点。

正确 错误F

Java面向对象程序设计__哪位JAVA高手帮我做一下这些题目.

回答

面向对象程序设计有4个主要特点,分别是:抽象、封装、继承、多态。以下是具体解释;

一、抽象和封装

类和对象体现了抽象和封装

抽象就是解释类与对象之间关系的词。类与对象之间的关系就是抽象的关系。一句话来说明:类是对象的抽象,而对象则是类得特例,即类的具体表现形式。

封装两个方面的含义:一是将有关数据和操作代码封装在对象当中,形成一个基本单位,各个对象之间相对独立互不干扰。二是将对象中某些属性和操作私有化,已达到数据和操作信息隐蔽,有利于数据安全,防止无关人员修改。把一部分或全部属性和部分功能(函数)对外界屏蔽,就是从外界(类的大括号之外)看不到,不可知,这就是封装的意义。

二、继承

面向对象的继承是为了软件重用,简单理解就是代码复用,把重复使用的代码精简掉的一种手段。如何精简,当一个类中已经有了相应的属性和操作的代码,而另一个类当中也需要写重复的代码,那么就用继承方法,把前面的类当成父类,后面的类当成子类,子类继承父类,理所当然。就用一个关键字extends就完成了代码的复用。

三、多态

没有继承就没有多态,继承是多态的前提。虽然继承自同一父类,但是相应的操作却各不相同,这叫多态。由继承而产生的不同的派生类,其对象对同一消息会做出不同的响应。

拓展回答

一、面向对象程序设计概念

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

当中有两个方面,一是封装属性,二是封装函数。在自己声明的类当中要既有属性又有函数,这就是类。

其实结构体的声明当中有很多不同数据类型的成员,在一个结构体当中,这就是对属性的封装,但是结构体与类相比较,还缺少了一个重要的环节,结构体当中只有属性,只封装了属性,但没有封装相应的操作,也就是没有封装操作成员属性的函数。

在结构体中声明一个结构体就相当于我们设计了一个类,定义一个结构体就相当于我们定义了一个对象,定义给两个结构体,相当于我们定义了两个对象。初始化结构体,相当于对象的初始化。

客观世界中任何一个事物都可以看成一个对象(Object),任何一个对象都有两个要素:一个是静态特征,这种静态特征称为属性。? 一个是动态特征,这种动态特征称为行为(或功能)。

二、面向对象程序设计架构特点

面向对象设计方法以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。这是面向对象设计方法最主要的特点和成就。面向对象设计方法的应用解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题,缩短了开发周期,解决了从分析和设计到软件模块结构之间多次转换映射的繁杂过程,是一种很有发展前途的系统开发方法。

但是同原型方法一样, 面向对象设计方法需要一定的软件基础支持才可以应用,另外在大型的MIS开发中如果不经自顶向下的整体划分,而是一开始就自底向上的采用面向对象设计方法开发系统,同样也会造成系统结构不合理、各部分关系失调等问题。所以面向对象设计方法和结构化方法仍是两种在系统开发领域相互依存的、不可替代的方法。

参考资料

百度百科——面向对象程序设计

面向对象程序设计的特点

1 Smalltalk语言和C++语言

2 object

3 class

4 RuntimeException和Error

5 Third

6

(7)new Rectangle(2.5,8.7);

(8)myRect.area();

(9)this.width

(10)this.length

关于“《面向对象程序设计》第04章在线测试”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[惜绿]投稿,不代表精诚号立场,如若转载,请注明出处:https://www.jingchengyq.com/jinchen/9466.html

(11)
惜绿的头像惜绿签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 惜绿的头像
    惜绿 2026年04月27日

    我是精诚号的签约作者“惜绿”

  • 惜绿
    惜绿 2026年04月27日

    本文概览:网上有关“《面向对象程序设计》第04章在线测试”话题很是火热,小编也是针对《面向对象程序设计》第04章在线测试寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问...

  • 惜绿
    用户042706 2026年04月27日

    文章不错《《面向对象程序设计》第04章在线测试》内容很有帮助