目录[隐藏][展示]
- 1. 什么是面向对象编程?
- 2. 为什么需要 OOP?
- 3. OOPS 原则有什么好处?
- 4. OOP 概念的支柱是什么?
- 5. 究竟什么是类?
- 6. 究竟什么是对象?
- 7. OOP 的限制是什么?
- 8.什么是继承?
- 9. 究竟什么是封装?
- 10.什么是多态性?
- 11. 究竟什么是抽象?
- 12. 方法重载到底是什么?
- 13. 方法重载到底是什么?
- 14. 究竟什么是超类?
- 15. 子类到底是什么?
- 16. 静态多态究竟是什么?
- 17. 动态多态究竟是什么?
- 18. 描述构造函数的概念。
- 19. 访问修饰符到底是什么?
- 20. 究竟什么是析构函数?
- 21.究竟什么是混合继承?
- 22. 什么是层次继承?
- 23. 继承有什么弊端?
- 24. 究竟什么是异常?
- 25. 异常处理到底是什么,它有什么好处?
- 26. 究竟什么是虚函数?
- 27. 什么是朋友功能?
- 28. 垃圾收集到底是什么?
- 29. 耦合到底是什么?
- 30. 究竟什么是凝聚力?
- 31. 描述一个 try/catch 块。
- 32. 描述最后一个块。
- 33. 究竟什么是接口?
- 34. 究竟什么是构图?
- 35. 构造函数链到底是什么?
- 结论
最有影响力的编程范式之一称为 OOP,或面向对象编程。 它强调类和对象,而不是功能和过程。
它的主要目标是连接数据和事物,以便更轻松地使用它们。 OOP 中的每个对象都由过程或方法形式的代码和字段形式的数据组成。
C++、Objective C、Python、Perl 和 Java 等语言是一些最流行的面向对象的语言 编程语言.
了解更多关于这一点至关重要,因为 oops 面试问题非常典型。 大多数公司都在寻找熟悉面向对象方法和模式的工程师。 所以,如果你打算参加面试,你必须精通 OOP 的想法。
这篇文章将展示从初学者到专家级别的各种面向对象编程面试问题。 因此,您可以通过任何级别的面试并获得理想的职位。
1. 什么是面向对象编程?
面向对象 (OOP) 的编程基于实际对象,而不仅仅是函数和进程。 为单个产品创建类。
继承、多态和隐藏是 OOP 融入编程的现实世界概念的示例。 它还使连接数据和代码成为可能。
2. 为什么需要 OOP?
OOP 更受欢迎的原因有很多,但是,以下是最重要的:
- OOP 让人们即使不熟悉实现也能轻松理解软件。
- 糟糕,将代码的可读性、可理解性和可维护性提高了十倍。
- 使用 OOP,即使是非常大的应用程序也可以简单地构建和控制。
3. OOPS 原则有什么好处?
- OOPS,编程对象模拟现实世界的对象,降低复杂性并提高程序清晰度。
- 对象可以在许多程序中重复使用。
- 每个对象创建一个不同的实体,其内部操作独立于其他系统组件。
- 通过引入一些新对象并更新一些现有对象,可以添加新功能或适应不断变化的操作条件。
- OOPs 程序的过程或数据表示可以很容易地进行小的调整。
4. OOP 概念的支柱是什么?
以下是 OOP 的主要支柱:
遗产:它使类能够继承另一个类的属性。
封装:这被定义为隐藏关键信息的对象属性。 这使数据对班级成员隐藏。 说明符描述了如何在代码中访问对象的属性。
多态性:这允许您以多种方式执行单个活动。 它是通过接口来实现的,我们在其中声明一个接口,该接口随后会实现多次。
抽象化:您可以使用此功能对外界隐藏关键信息,仅显示基本事实。
5. 究竟什么是类?
类是由处于不同状态和不同行为的对象组成的原型。 它有许多由该类中的对象共享的方法。
6. 究竟什么是对象?
对象是作为 OOP 的基本单元的现实世界实体,例如椅子、猫或狗。 各种对象具有各种状态、属性和动作。
7. OOP 的限制是什么?
- 尺寸大于其他应用程序。
- 这需要一些习惯。
- 某些类型的问题不需要它。
- 创建它是劳动密集型的,并且与其他应用程序相比,它的运行速度更慢。
8.什么是继承?
称为继承的概念是指另一个类共享一个类的已建立结构和行为。 当继承应用于单个类时,称为单继承; 当它依赖于许多类时,称为多重继承。
9. 究竟什么是封装?
OOP 的思想也包括封装。 它描述了数据和数据操作技术的混合。 此外,它有助于防止直接访问对象的某些部分。
10.什么是多态性?
在 OOP 语言中,多态是一个基本概念。 它显示了不同的类如何共享一个接口。 这些类都能够具有独特的接口实现。
11. 究竟什么是抽象?
抽象是用于创建现实世界对象结构的面向对象编程 (OOP) 概念。 它只“显示”最重要的品质,并“隐藏”来自外部世界的无关信息。 抽象的基本目标是保护人们免受不必要的信息。
12. 方法重载到底是什么?
两个或多个过程可能具有相同的名称。 然而,它们应该具有不同的参数、不同数量的参数、不同的种类,或两者兼而有之。 这些被称为重载方法,该特性被称为方法重载。
13. 方法重载到底是什么?
面向对象编程包括方法覆盖的思想。 它是一种语言功能,允许子类或子类提供其超类或父类之一已经提供的方法的自定义实现。
14. 究竟什么是超类?
超类,通常称为基类,是一种充当另一个或多个类的父类的类。 例如,Car 类有一个名为 Vehicle 的子类。
15. 子类到底是什么?
子类是另一个类的子类。 例如,货车是车辆的子类或派生类。
16. 静态多态究竟是什么?
在编译时,会发生一种称为静态多态(静态绑定)的多态。 方法重载是一种编译时多态性。
17. 动态多态究竟是什么?
一种在运行时解决的多态称为运行时多态,也称为动态多态(动态绑定)。 方法的覆盖是运行时多态性的一个例证。
18. 描述构造函数的概念。
构造函数是类的特定方法,在创建类实例时会自动调用。 当您访问该类时,它使用与该类相同的名称构造并初始化其所有成员。 构造函数的主要特征如下:
构造函数没有返回类型。
重载构造函数是可能的。
不需要指定构造函数; .NET Framework 会自动完成。
19. 访问修饰符到底是什么?
在面向对象的语言中,关键字是访问修饰符或访问说明符。 它有助于配置类、方法和其他成员的可访问性。
20. 究竟什么是析构函数?
析构函数是一种释放分配给对象的资源的方法。 当一个对象被销毁时,这个方法会被自动调用。
21.究竟什么是混合继承?
混合继承是一种由单、多等几种继承形式混合而成的继承。
22. 什么是层次继承?
在层次继承的情况下,多个子类从一个父类继承。 许多类从单个父类或基类继承的一种继承称为分层继承。 例如,fruit 类可以包含诸如“apple”、“mango”、“banana”、“cherry”等子类。
23. 继承有什么弊端?
它延长了执行过程并使执行过程复杂化。 它还需要在各种类之间切换。 父类和子类总是密不可分的。
对课程的修改将需要对家长和孩子的班级进行修改。 继承必须小心执行,否则结果会出错。
24. 究竟什么是异常?
异常是干扰代码正常运行的事件。 要继续执行,您可以在 Java 中处理这些异常。 在 Java 中,有很多种预定义的异常,并且提供了异常处理来使用 try-catch 块来控制引发的异常。
25. 异常处理到底是什么,它有什么好处?
Java 中处理意外运行时故障的最重要方法是异常处理。 它允许您控制程序执行期间出现的运行时错误。
异常处理的好处包括在管理异常的同时保留常规程序流的能力。 例如,如果程序的某个部分发生错误,如果我们使用 try-catch 块处理异常,它将对程序的其余部分没有影响。
26. 究竟什么是虚函数?
虚函数也包含在父类的函数中,并被子类覆盖。 这些例程有助于实现运行时多态性。
27. 什么是朋友功能?
友元函数是属于某个类的函数,可以访问其公共、私有或受保护的数据。 如果函数是在类之外定义的,则无法检索此数据。 访问控制关键字 private、public 和 protected 与友元声明无关,友元声明可以在类声明的任何地方进行。
28. 垃圾收集到底是什么?
垃圾收集 (GC) 是 C# 和 Java 等编程语言的一个元素,用作内存回收系统。 垃圾收集 (GC) 引擎是编程语言的一个组件,它允许为应用程序不再使用的对象自动释放内存空间。
29. 耦合到底是什么?
它指的是各种类相互依赖并共享知识的情况。 当一个班级对另一个班级有详细的了解时,就会产生强烈的联系。 您可以使用访问修饰符指定类、方法或变量的可见性。 接口用于提供较弱的耦合。
30. 究竟什么是凝聚力?
一个组件完成某项活动的方式称为它的凝聚力。 一个强大的、有凝聚力的方法将简单地完成定义的任务,而一个弱的、有凝聚力的方法会将单个任务分成几个较小的任务,然后完成它们。
Java.io 包是相当连贯的,但 java.util 包不是。
31. 描述一个 try/catch 块。
当程序由于不正确的代码或数据而遇到错误时,“try”和“catch”指示如何管理它。 try 块是发生异常时代码部分的名称。 catch 块用于捕获和处理来自 try 块的异常。
32. 描述最后一个块。
最后指出了 try 关键字的代码工作部分。 它指定总是在试验之后立即运行的代码以及在方法完成之前的任何 catch 块。 无论是抛出还是捕获异常,最后一个块总是运行。
33. 究竟什么是接口?
接口是抽象方法和用户定义的数据类型的组合。 一个类实现了一个接口,继承了接口的抽象函数。
类表示对象的属性和行为,而接口包括类实现的行为。 接口代表“什么”,而类传达“如何”。
34. 究竟什么是构图?
该组合物可用于实现连接。 它展示了依赖对象和独立对象之间的强大对象链接,而不是聚合。 在这种情况下,从属对象不存在,如果父对象被擦除,则从属对象将被删除。
35. 构造函数链到底是什么?
构造函数链接是一种从与当前对象引用相关的构造函数中调用另一个构造函数的技术。 有两种选择:
- 当前类中的构造函数可以使用“this”关键字来引用。
- “super”关键字将用于从基类调用构造函数。
结论
面向对象编程需要考虑程序的结构并提前准备。 检查如何将需求划分为可用于创建事物实例的基本、可重用类。
总体而言,采用 OOP 可以提高 数据结构 和可重用性,从长远来看可以节省时间。 看 Hashdork的采访系列 为面试准备提供帮助。
发表评论