中文
[面试问题] 什么是面向对象编程?

[面试问题] 什么是面向对象编程?

整理有关面向对象编程的面试问题

昨天,我去一家大公司面试,遇到了一个情况,我必须回答一个关于面向对象编程的问题,我以为我很清楚,但当我试图回答时,却磕磕绊绊。

多亏了这件事,我想我已经找到了自己的弱点,决定花时间重新整理一下!

什么是 ### 对象?

让我们从一般定义开始

一般理论:实际存在的东西 计算机科学:根据类的定义在内存中创建的东西。

面向对象的语言定义如下

Java:类的实例或数组 Python:具有属性值或行为的数据。

Java 中的类不是实例,但 Python 中的类是实例。

面向对象编程

通过定义对象的角色和关系来构建交互式程序。

我们可以这样定义

面向对象语言的特点

抽象

  • 可以在对象之间推导出共同特征

  • 定义类的部分是

多态性

  • 可以对行为略有不同的函数进行相同的调用

  • 为同一命令向链接对象传递解释

  • 覆盖(覆盖内部源)、重载(根据参数调用另一个同名函数)

封装

  • 允许你隐藏部分实现而不向外界暴露

  • 如果需要与外界通信,则通过方法发送和接收信息

从 #### 继承

  • 从一个类继承另一个类的功能。

  • 除已创建的类外,还允许创建新类

댓글 작성

게시글에 대한 의견을 남겨 주세요.

댓글 0