关于面向对象的面试问题

时间:2026-01-15

关于面向对象的面试问题

电子工业出版社飞思公司独家提供

第 章 关于面向对象的面试问题

向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看做是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心,以算法为驱动的话,面向对象的编程语言则是以对象为中心,以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。

所有面向对象编程语言都支持3个概念:封装、多态性和继承,C#也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整

面9

PDF 文件使用 "pdfFactory Pro" 试用版本创建 http://www.77cn.com.cn

关于面向对象的面试问题

体。可以说,对象是支持封装的手段,是封装的基本单位。C#语言完全面

向对象,因为C#无全程变量,无主函数,在C#中万物都是对象。

“这个世界是由什么组成的?”这个问题如果让不同的人来回答会得到不同的答案。如果是一个化学家,他也许会告诉你“还用问嘛?这个世

界是由分子、原子、离子等的化学物质组成的”。如果是一个画家呢?他

也许会告诉你,“这个世界是由不同的颜色所组成的”。但如果让一个分类

学家来考虑问题就有趣得多了,他会告诉你,“这个世界是由不同类型的

物与事所构成的”。作为面向对象的程序员来说,我们要站在分类学家的

角度去考虑问题。这个世界是由动物、植物等组成的。动物又分为单细

胞动物、多细胞动物、哺乳动物等;哺乳动物又分为人、大象、老虎……

就这样地分下去了!

现在,站在抽象的角度,我们给“类”下个定义吧!我的意思是,站在抽象的角度,你回答我“什么是人类?”首先让我们来看看人类所具有的一

些特征,这个特征包括属性(一些参数,数值)及方法(一些行为,他

能干什么)。每个人都有身高、体重、年龄、血型等一些属性。人会劳动、

人都会直立行走、人都会用自己的头脑去创造工具等这些方法。人之所

以能区别于其他类型的动物,是因为每个人都具有人这个群体的属性与

74

PDF 文件使用 "pdfFactory Pro" 试用版本创建http://www.77cn.com.cn

关于面向对象的面试问题

第9 章关于面向对象的面试问题方法。“人类”只是一个抽象的概念,它仅仅是一个概念,它是不存在的实

体。但是所有具备“人类”这个群体的属性与方法的对象都叫人。这个对象

“人”是实际存在的实体。每个人都是人这个群体的一个对象。老虎为什么

不是人?因为它不具备人这个群体的属性与方法,老虎不会直立行走,

不会使用工具等,所以说老虎不是人。

由此可见,类描述了一组有相同特性(属性)和相同行为(方法)的对象。在程序中,类实际上就是数据类型。例如,整数、小数等。整

数也有一组特性和行为。面向过程的语言与面相对象的语言的区别就在

于,面向过程的语言不允许程序员自己定义数据类型,而只能使用程序

中内置的数据类型。而为了模拟真实世界,为了更好地解决问题,往往

我们需要创建解决问题所必需的数据类。

面向对象编程为我们提供了解决方案。以下的考题来自真实的笔试资料,希望读者先不要看答案,自己解答后再与答案加以比对,找出自己的不足。

9.1 面向对象的基本概念

面试例题1:面向对象的三要素是什么?

答案:封装、继承、多态。

75 PDF 文件使用 "pdfFactory Pro" 试用版本创建http://www.77cn.com.cn

关于面向对象的面试问题

76 面试例题2:对象与实例到底有什么区别呢?

答案:对象和实例从宏观的角度看的区别是:对象是同类事物的一

个抽象表现形式,而实例是对象的具体化,一个对象可以实例化很多实

例,对象就是一个模型,实例是照着这个模型生产的最终产品。实际上

就是这样,一个对象可以实例化N个实例。就像根据一个模型可以制造

多个实际的产品一样。

面试例题3:Which is incorrect about the class?(关于类下面哪个是错误的)[中国著名软件公司J面试题]

A.A class is a blueprint to objects.(类是对象的蓝图。)

B.We use the keyword class to create a class construct.(我们使用关键字来创建类的构造。)

C.Once a class is declared, the class name becomes a type name and can be used to declare variables.(类被声明后可以作为类型名用来声明变量。)D.The class is same as the struct, and there are no different between class and struct.(类和结构没有区别。)

解析:类的概念问题。

PDF 文件使用 "pdfFactory Pro" 试用版本创建http://www.77cn.com.cn

关于面向对象的面试问题

第9 章关于面向对象的面试问题答案:D。

面试例题4:Which is incorrect about the OOP?( …… 此处隐藏:1669字,全部文档内容请下载后查看。喜欢就下载吧 ……

关于面向对象的面试问题.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219