问题描述
//publicclassTest:Base{protectedoverridevoidDoCommand(){//......base.DoCommand();}}
以上不太理解base的用法。base.DoCommand();这条语句其实调用了protectedoverridevoidDoCommand()这个方法呢。还是调用的是Base类的的DoCmmand()方法。?是不是只要在方法体内写写上base.DoCommand();语句就表示执行这个方法呢?
解决方案
解决方案二:
-base代表父类,故是Base类的DoCommand()-this代表自身,故是Test类的DoCommand()
解决方案三:
多态,override覆盖父类的DoCommand,实现自己的处理代码,自己处理完了,再调用父类的DoCommand
解决方案四:
base.DoCommand();调用的是基类Base的DoCommand方法,要不然用base.就没意义了,如果你只是写DoCommand();就调用Test类的DoCommand方法,
解决方案五:
base就是基类,应该是个虚类子类继承后重写,然后还想用基类中的code,只不过自己又加了些东西,调用基类的code就用base.XXX
时间: 2024-10-03 21:17:31