版权声明:本文为博主原创文章,未经博主允许不得转载。
https://blog.csdn.net/wangqingbo0829/article/details/35590365
面向对象的多态,我们先用生活中的多态来理解。大学的校园四月。是社团活动最紧忙的一个月。届时。学校的相关管理部门会对各社团上交的“社团活动策划案”进行审批后下发。
以我曾參加的一个话剧社作为样例,社长接到审批的文书后。会对整个社团组织内部人员进行职权分工,编剧部、后勤部、外联部、秘书部、文艺部全部部门各有分工,分头积极准备工作,大家为了完毕共同一部话剧热火朝天地干了起来。
这里审批的“社团活动策划案”允许办活动(一条命令)。接到审批文书,来到“社长”推断。在各部做着不同的准备(各自实现不同的操作)。这就是多态。
在话剧表演的当天。主持人宣布晚会正式開始,灯光组——追光、剧务组——搬道具、演员组——上台表演,各自在各自的位置上发光发热。全部的精彩在这样协调、有序的配合下完美进行。
(你能够把眼光放到当中不论什么一个部分,去关注。也能够总体概览,全部人的活动)
以下用两张表更清晰:
(说实话,上面的内容原本想用代码实现一下的,仅仅可惜,弄了非常长时间,如今能力有限。后期补)
上面都是体现的多态。假设用面向对象的思想看生活,身边的样例比比皆是。
在面向对象的多态性运用在什么地方呢?
1.方法
(1)重载(编译时多态)
(2)虚方法(执行时多态)
(3)抽象方法(执行时多态)
(4)托付
2.类-继承
3.接口-继承(同样性)
总的说来,多态是应对同一信息。所做出不同反应的表现。