c++的三个特性

继承、封装、多态

  • 继承

一个对象直接使用另一个对象的属性和方法。

优点

  1. 减少重复的代码。
  2. 继承是多态的前提。
  3. 继承增加了类的耦合性。

缺点

  1. 继承在编译时刻就定义了,无法在运行时刻改变父类继承的实现;
  2. 父类通常至少定义了子类的部分行为,父类的改变都可能影响子类的行为;
  3. 如果继承下来的子类不适合解决新问题,父类必须重写或替换,那么这种依赖关系就限制了灵活性,最终限制了复用性。

虚继承:为了解决多重继承中的二义性问题,它维护了一张虚基类表。

  • 多态

C++中有两种多态,称为 动多态(运行期多态) 和 静多态(编译期多态) ,而 静多态主要通过模板来实现,宏也是实现静多态的一种途径 。 

动多态在C++中是通过虚函数实现的 ,即在基类中存在一些接口(一般为纯虚函数),子类必须重载这些接口。这样通过使用基类的指针或者引用指向子类的对象,就可以实现调用子类对应的函数的功能。动多态的函数调用机制是执行期才能进行确定,所以它是动态的。

接口的多种不同实现方式即为多态。可以举个例子加深记忆,比如电脑的USB接口,既可以插优盘,又可以插鼠标,USB接口就类似类的接口。

优点

  1. 大大提高了代码的可复用性;
  2. 提高了了代码的可维护性,可扩充性;

缺点

  1. 易读性比较不好,调试比较困难
  2. 模板只能定义在.h文件中,当工程大了之后,编译时间十分的变态
  • 封装

隐藏对象的属性和实现细节,仅仅对外提供接口和方法。

优点

  1. 隔离变化;
  2. 便于使用;
  3. 提高重用性;
  4. 提高安全性

缺点

  1. 如果封装太多,影响效率;
  2. 使用者不能知道代码具体实现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值