温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
啊,可能有同学对说,老师你这边调用为什么就变成周润发后的刘德华这么着,我们再来一个生活中的例子,来理解这个接口指向实现以后的这种变化。那么比如说你现在有个负类。啊,比如说你现在有个副类,副类中有一个唱歌的方法,那么负类中这个这副类啊,不是接口,其实接口是一样的,我们先说负类,因为这样你好理解。那么如果父类中有一个唱歌的方法,这个方法的实现是在那桃花盛开的地方,父类吗?唱在那桃花盛开的地方?然后呢,你作为子类,你继承下来父类的这个唱歌的方法,你没有做更改。没有做更改,你没有改变它,你没有重写。你直接从傅雷那拿到的这个方法,你一调用,是不是就是在那桃花盛开的地方,能明白吗?就相当于是,哎,呃,父亲传给了你一个唱歌的这么一个技能,你一张嘴就唱在那桃花盛开的地方,可是你唱了一段时间以后,旁边的小朋友,你的小伙伴就觉得什么你这是太老套了。
01:06
然后他们笑话你,然后你决定要改变还是负类唱歌的这个方法,但是你有自己的实现子类重写负类的方法。这时候你唱什么死了都要爱,哎,你唱了一个这么歇斯底里的一首歌,你也很喜欢,那么这时候你只要重写了父泪唱歌的这个方法,那么走遍天涯海角,你这辈子能唱的就是死了都要爱。就你只要重写父类的方法,以后在哪里把你叫来去唱歌都唱的是死了都要爱,啥意思?就是你自己在那,别人调用你唱歌这个方法,唱死了都要爱,然后父类的引用指向你啊,就这首是父类的引用指向子类实现的时候,这时候你得到最终的结果还是死了都要爱。一句话,子类重写了父类的方法以后,看到的永远只能是重写后的内容。
02:03
记住,来理解我这句话,这就是多态呀,我允许子类有自己更好的实现,更符合子类身份和心情的实现,我允许子类有自己的实现,而且子类重写负类方法以后,从此。无论是父类的引用指向,子类的调用,还是子类自己本身对象的指用,指向都是死了都要爱,都是重写后的方法。能理解吗?啊,那你看接口也是一样的,接口是另外一种意义上的负累啊。对吧,我这个接口现在你传给我的是刘德华,那么是不是刘德华的实现替换了原先那个空实现。那么这时候,当你无论用父类的引用指向你,还是用自己的对象指向自己,调用的这个方法,看到的都是重写后的那个概念,重写后的实现,那么刘德华来这调用就是刘德华的实现,周润发这调的就是周润发的实现。
03:03
能明白吗?谁重写后了,我永远变成重写后的内容。无论是什么指向。都是这个道理。啊,那么这个就是我们多肽的这个概念的一个梳理啊。
我来说两句