多态的作用

我们知道面向对象有三大特性:封装、继承、多态。

1、封装的作用是隔离和代码重用。隔离其实是低耦合的考虑,使得模块之间的关连变小;代码重用就不用多讲了,就是多处需要同一个对象时不用重复实现。

而继承

2、继承的作用是代码重用。但我觉得除了代码重用,继承更大的用作就是为了多态的使用。下面主要介绍多态的作用。

3、多态

多态其实就是接口重用。多态和继承是紧密联系的,没有继承就没有多态,而多态使得继承更有意义。

多态的实现是由虚函数实现的。

我们可以看一个应用场景:

比如在发帖之前,我们要做很多loader动作:比如封禁词审核、图片审核、userinfo。那么我们可以定义一个抽象类

class interface{

virtual void startLoader();

}

然后构建一个数组interface* arr[];将我们需要做loader动作的子类指针装进数组,之后我们就可以异步的调用相应的startLoader()

for auto it : arr{

  pthread_create(&t_id,NULL,(void*)it->startLoader,NULL);

}

这样就可以实现一个接口多种不同的调用。

posted on 2017-09-09 20:59  Seven_noon  阅读(1285)  评论(0编辑  收藏  举报