试题详情

在C#中,对于下列代码的出错原因,描述正确的是( ) class Program { static void Main(string[] args) { //创建Appliance对象时报错 Appliance apl = new Appliance(); Appliance mlp = new MobilePhone(); } } abstract class Appliance { public abstract void Charge(); } class MobilePhone : Appliance { public void Call() { Console.WriteLine("手机可以打电话。"); } public override void Charge() { Console.WriteLine("手机使用110V电压充电。"); } }

AAppliance类在实例化的时候书写的位置不正确,导致报错。

BAppliance是一个抽象类,不允许直接实例化,只能够实例化非抽象的子类MobilePhone。

C定义Appliance类的时候在Charge方法中没有任何方法体,所以创建其对象没有任何意义,所以系统报出错误。

D代码关系没有理解错误,应该写为:MobilePhone pm = new Appliance()。