看到这个题目,我的反应是
Class1 methodA 隐藏了BaseClass 里的methodA,所以Class2 默认继承了Class1 methodA的方法,所以输出结果是Class1.MethodA
但是这里忽略了 Class1 中methodA的定义:
public void MethodA(string arg)
多了一个参数,相当于是对父类方法的重载。所以Base.MethodA()实际也是被继承过来了。
正确的结果是:
Base.MethodA
看到这个题目,我的反应是
Class1 methodA 隐藏了BaseClass 里的methodA,所以Class2 默认继承了Class1 methodA的方法,所以输出结果是Class1.MethodA
但是这里忽略了 Class1 中methodA的定义:
public void MethodA(string arg)
多了一个参数,相当于是对父类方法的重载。所以Base.MethodA()实际也是被继承过来了。
正确的结果是:
Base.MethodA