面向对象(Object-Oriented,简称OO)是一种软件开发方法,它将现实世界中的事物抽象成对象,并通过对象之间的交互来解决问题。面向对象编程(OOP)是这种开发方法的具体实践,它使用“对象”来设计应用程序和软件。
谈到面向对象就要提到面向过程了,对比面向过程,面向对象注重事情有哪些参与者(对象),及各自需要做什么,而面向过程更注重事情的每个步骤及顺序。
面向过程比较直接高效,面向对象更易于复用、扩展和维护。
说到这,其实面试官应该是知道你是理解一点基础的,但是不够,咱们要让面试官再给咱加分,继续顺着咱的思路讲下去,谈谈面向对象的三大特性,封装,继承,多态。
- 封装:
将数据和操作数据的函数绑定在一起,隐藏内部实现细节,仅通过公共接口与外界交互。(增加代码复用性)
- 继承:
子类能够继承父类的属性和方法,实现代码的复用和扩展。(增加代码复用性)
- 多态:
允许一个接口被多种数据类型实现,或一个方法在多个类中有不同的实现方式。(增加代码可移植性)
以上部分知识臃肿了点,但是我只是想让你理解的清楚一点,面试的时候还是要用自己理解的话去讲。