关于虚方法实现多态,下列说法错误的是
A: 派生类必须重写基类的虚方法
B: 一般基类定义虚方法使用virtual关键字
C: 基类的虚方法派生类可以重写,也可以不重写
D: 派生类如需要重写的父类的虚方法,在派生类中将方法用关键字override标记
A: 派生类必须重写基类的虚方法
B: 一般基类定义虚方法使用virtual关键字
C: 基类的虚方法派生类可以重写,也可以不重写
D: 派生类如需要重写的父类的虚方法,在派生类中将方法用关键字override标记
举一反三
- 在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法;在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
- 怎样定义基类虚方法,并在派生类中重写基类虚方法?
- 关于在派生类中重新实现从基类继承而来的方法,哪些说法是正确的? A: 在派生类中可以通过override重写基类的虚方法。 B: 派生类中通过override重写的方法默认也是虚方法。 C: 在派生类中不能重写基类中非虚方法。 D: 可以通过new隐藏基类中的虚方法。 E: 通过基类类型变量引用的派生类实例中,访问虚方法时,CLR会根据继承链找到该派生类重写后的方法来执行。
- C#中基类中的虚方法和抽象方法,都必须在派生类中重写。( )
- 在派生类隐藏基类同名成员在基类定义虚方法在派生类覆写基类虚方法声明抽象类或抽象方法或抽象属性在非抽象派生类中重写抽象方法或抽象属性声明密封类或密封方法声明接口,接口可实现多重继承