回答面试一定要有深度,让面试的大哥感觉你的水平有层次感









面向对象编程,即OOP,是一种编程范式,满足面向对象编程的语言,一般会提供类、封装、继承等语法和概念来辅助我们来进行面向对象编程。






类型被设计为将数据和行为捆绑在一起的东西,数据和行为被称为类型的成员。我们可以创建类型的实例,不同的实例包含不同的数据,从而其表现出来的行为也会不同,尽管其代码是一样的。






封装使得其类的成员得以有选择性的暴露,一些成员只能在内部使用所以被称之为私有的,一些成员可以被派生类型使用被称之为受保护的,一些成员可以被任何人使用,称之为公开的。






继承可以从一个现有的类型派生出新的类型来,派生类继承了基类的所有成员,也可以新增只属于自己的成员。在任何情况下,派生类型的实例可以被被当做基类类型的实例来使用 。






虚方法为派生类修改基类的行为提供了一种途径,通过重写虚方法可以修改基类某些方法的行为。当派生类实例被当做基类实例被使用时,这一行为的区别将会被体现出来,这种在运行时不同类型的实例在相同代码中呈现出完全不同的行为的现象叫多态。

面向对象编程是目前运用最为广泛的一种范式,从而也产生了非常多的解决代码复用的技巧,其中相当一部分技巧在程序中反复出现而被提炼为设计模式。