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