关于在派生类中重新实现从基类继承而来的方法,哪些说法是正确的?
A: 在派生类中可以通过override重写基类的虚方法。
B: 派生类中通过override重写的方法默认也是虚方法。
C: 在派生类中不能重写基类中非虚方法。
D: 可以通过new隐藏基类中的虚方法。
E: 通过基类类型变量引用的派生类实例中,访问虚方法时,CLR会根据继承链找到该派生类重写后的方法来执行。
A: 在派生类中可以通过override重写基类的虚方法。
B: 派生类中通过override重写的方法默认也是虚方法。
C: 在派生类中不能重写基类中非虚方法。
D: 可以通过new隐藏基类中的虚方法。
E: 通过基类类型变量引用的派生类实例中,访问虚方法时,CLR会根据继承链找到该派生类重写后的方法来执行。
A,A,A,A,A,B,C,D,E
举一反三
- 在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法;在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
- 关于虚方法实现多态,下列说法错误的是 A: 派生类必须重写基类的虚方法 B: 一般基类定义虚方法使用virtual关键字 C: 基类的虚方法派生类可以重写,也可以不重写 D: 派生类如需要重写的父类的虚方法,在派生类中将方法用关键字override标记
- 怎样定义基类虚方法,并在派生类中重写基类虚方法?
- 在派生类隐藏基类同名成员在基类定义虚方法在派生类覆写基类虚方法声明抽象类或抽象方法或抽象属性在非抽象派生类中重写抽象方法或抽象属性声明密封类或密封方法声明接口,接口可实现多重继承
- 以下关于继承的说法不正确的是() A: 在派生类中可以声明与基类中同名的新成员。 B: 在派生类中可以隐藏基类继承而来的成员。 C: 在派生类中可以移除基类继承而来的成员。 D: 派生类中可以重写基类中的方法。
内容
- 0
C#中基类中的虚方法和抽象方法,都必须在派生类中重写。( )
- 1
类和派生类的相互关系正确的是()。 A: 从基类到派生类称为派生。 B: 从基类到派生类称为继承。 C: 从派生类到基类称为派生。 D: 派生类包含了基类。
- 2
类和派生类的相互关系不正确的是()。 A: 从基类到派生类称为派生。 B: 派生类还可以再作为另一派生类的基类。 C: 从派生类到基类称为派生。 D: 从派生类到基类称为继承。
- 3
下列有关继承和派生的叙述中,错误的是: A: 派生类不能访问基类的保护成员 B: 作为虚基类的类不能被实例化 C: 派生类应当向基类的构造函数传递参数 D: 虚函数不一定要在派生类中重新实现
- 4
下列有关派生和继承的表述中,错误的是____。 A: 若派生类没有实现基类中的一个纯虚函数,则该派生类是抽象类 B: 在定义派生类时,可以用关键字virtual将某个基类指定为虚基类 C: 在生成派生类对象时,派生类构造函数要调用基类的构造函数 D: 派生类中定义的成员函数可以访问基类的所有成员