面试问题之C++语言:面向对象的三大特性
转载于:https://www.cnblogs.com/BEN-LK/p/10720249.html
面向对象的三大特性:封装、继承、多态
封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或对象操作,对不可信的进行信息隐藏。一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
继承:指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念,它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的实现过程,就是从一般到特殊的过程。要实现继承,可以通过“继承”和“组合”来实现。集成概念的实现方式有二类:实现继承与接口继承。
实现继承:是指直接使用基类的属性和方法而无需额外编码的能力;
接口继承:是指仅使用属性和方法的名称、但是子类必须提供实现的能力。
多态:是指一个类实例的相同方法在不同情况下有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。