《深入.NET平台和C#编程》--题型释疑

本题考查抽象类和抽象方法的概念。定义抽象类或抽象方法使用的是abstract关键字,抽象类中可以包含抽象方法和非抽象方法,
但抽象方法必须定义在抽象类中,抽象方法定义时只需要定义方法头,不可以定义方法体。故本题说法正确的选项是B,其余均不对。

本题考查抽象类和抽象方法的概念。定义抽象类或抽象方法使用的是abstract关键字,抽象类中可以包含抽象方法和非抽象方法,
但抽象方法必须定义在抽象类中,抽象方法定义时只需要定义方法头,不可以定义方法体。故本题说法正确的选项是B,其余均不对。

 

本题考查使用virtual和override实现方法重写,这两个关键字要熟记,使用virtual关键字将方法标记为虚方法,
使用override关键字实现方法重写,故本题选择B选项,C选项中abstract将方法标记为抽象方法,D选项中是定义接口的关键字。

A是错的,base只能写在方法体大括号的前面
C是错的,base后没有大括号
D是错的,与AC一样

 

本题考查如何使用virtual和override实现方法重写,方法重写即在子类中重写父类的虚方法,要求不同类同名同参,
而方法重载是要求同类同名不同参。另外,使用virtual关键字修饰的方法是虚方法,故可以在子类中使用override关
键字重写。故选项B、D说法正确,A、C说法错误。

 

在C# 语言中,public、protected、private 的外部访问权限是依次递减的,public 没有限制,而protected的限制就是只有子类可以访问。

 

此题目考查的是使用virtual和override实现方法重写和多态。virtual可以和static、abstract、private、override修饰符一起使用。
原文地址:https://www.cnblogs.com/ckwblogs/p/5827864.html