需求:在派生类里写方法时,想写一个和基类里一模一样的方法来使用
矛盾:由于派生类共享基类的方法,调用时就会分不清调用的是派生类的方法,还是基类的方法
破解:加个new关键字,这样派生类实例调用同名方法,就会如愿调用自己新写的方法了
(“一模一样”是指方法名 、参数以及返回值,但不包括内容)

cat.EatFood()输出的是新定义同名方法的内容“猫吃鱼”
个人感觉:隐藏方法的最终目的,无非是派生类想自己定义方法内容——我认为完全可以用重写基类方法来实现,没必要非得写的和基类一模一样。
“继承”中的疑问——“隐藏方法”有什么用处
探讨在派生类中如何通过使用new关键字隐藏基类的同名方法,以实现方法内容的重新定义,避免调用混淆。这种方法不同于重写,提供了一种保持方法签名一致而内容不同的方式。

被折叠的 条评论
为什么被折叠?



