【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485
【Q】什么是多态?
【A】解释如下 :
【Q】什么是向上转型?
【A】儿子把混沌体体的真血移植给父亲,父亲阴差阳错下可以用儿子独有的能力,这样不是向下转型吗,为什么说是向上,这里的向上指的是儿子的能力赋予了父亲,因此称为向上转型
上图中最后父亲可以调用儿子混沌体的能力,但这有个条件,就是父亲受伤了(如图中Father的func函数是虚函数),因此当移植了儿子的真血后,可以使用儿子的能力,但是如果父亲没有受伤或伤的很轻呢?(Father的func函数不是虚函数),如下图
父亲没受伤或伤的很轻,这时候即使移植了儿子的真血,依然用不到儿子的部分能力,因为把相同的部分排斥了,就好比父亲伤的只是肾,但是手脚还在,这时候移植了儿子的真血后,自己手脚是完好无缺的,会排斥新来的手脚功能,只是肾伤到了,因此不排斥儿子的肾功能,下次运功时调用的是儿子的肾功能!所以父亲即使移植了儿子混沌体的真血后,依然使不出混沌体的全部能力,身体的一部分会继续使用荒古圣体的能力!
向上转型是把子类的能力给到父类,基于父类能否调用子类的能力,看父类自身的函数是不是虚函数,若是虚函数,则可以使用子类的能力,注意这里提到的能力,是父类子类都有接口,只是接口的具体实现不一样,如果父类没有子类的接口,却去调用子类的接口,在向上转型里是禁止的。
技术交流QQ群 : 745662457
群内专注 - 问题答疑,项目外包,技术研究