列表

详情


83. 简述一下面向对象的三大特征

回答思路

得分点 封装、继承、多态 标准回答 面向对象的三大特征是:封装、继承、多态。 1. 封装 将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。封装本质上是一种管理:比如景区,如果人人都能随意进来,那么很容易造成问题,比如损坏公物。所以我们需要建一堵围墙将景区围起来,但是我们的目的不是不让别人进去,所以开放了售票通道,可以买票在合理的监管机制下进去游玩。 C++通过 private、protected、public 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。 - private 修饰的成员只能在本类中访问 - protected 表示受保护的权限,修饰的成员只能在本类或者子类中访问 - public 修饰的成员是公共的,哪儿都可用访问。 封装的好处:隐藏实现细节,提供公共的访问方式;提高了代码的复用性;提高了安全性。 2. 继承 C++最重要的特征是代码重用,通过继承机制可以利用已有的数据类型来定义新的数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。一个 B 类继承于 A 类,或称从类 A 派生类 B。这样的话,类 A 成为基类(父类), 类 B 成为派生类(子类)。派生类中的成员,包含两大部分:一类是从基类继承过来的,一类是自己增加的成员。从基类继承过过来的表现其共性,而新增的成员体现了其个性。 继承的好处:提高代码的复用性;提高代码的拓展性;是多态的前提。 3. 多态 在面向对象中,多态是指通过基类的指针或者引用,在运行时动态调用实际绑定对象函数的行为。多态是在程序运行时根据基类的引用(指针)指向的对象来确定自己具体该调用哪一个类的虚函数。当父类指针(引用)指向 父类对象时,就调用父类中定义的虚函数;即当父类指针(引用)指向 子类对象时,就调用子类中定义的虚函数。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性。

上一题