qq_26943373 2016-12-06 16:04 采纳率: 0%
浏览 910
已结题

入门!c#面向对象小白,密封方法题求改改,

namespace P5_5
{
class Program
{
static void Main(string[] args)
{
Vehicle v1 = new Train();
v1.Speak();
Console.WriteLine("行驶1000公里需{0}小时",v1.Run(1000));
v1=new Truck(16,24);
v1.Speak();
Console.WriteLine("行驶1000公里需{0}小时",v1.Run(1000));
}
}
public abstract class Vehicle
{
private float speed;
public float Speed
{
get { return speed; }
}
public virtual float Run(float distance)
{
return distance / speed;

    }

将P5_5例题中基类Automobile的Speak方法加修饰符sealed,请相应地修改程序。

    public   abstract void Speak();
    public Vehicle(float speed)
    {
        this.speed = speed;
    }
}
public class Train : Vehicle
{
    public Train()
        : base(160)
    { }
    public override void Speak()
    {
        Console.WriteLine("呜......");
    }
}
public abstract   class Automobile : Vehicle 
{
    public Automobile(float speed) : base(speed)
    { }
    public sealed  override abstract   void Speak();

}
public class Truck:Automobile 
{
    private float weight;
    public float Weight
    {
        get{return weight ;}
    }
    private float load;
    public float Load
    {
        get{return load;}
    }
    public Truck(int weight,int load):base(50)
    {
        this.weight=weight;
        this.load=load;
    }
    public override float  Run(float distance)
    {
        return (1+load/Weight/2)*base.Run(distance);
    }
    public  override  void  Speak()
    {
       Console.WriteLine ("叭......叭......");
    }
}

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-12-06 16:14
    关注
     加修饰符sealed后派生类不能再用override了
    
    public  new  void  Speak()
        {
           Console.WriteLine ("叭......叭......");
        }
    
    v1=new Truck(16,24);
    v1.Speak();
    ->
    v1=new Truck(16,24);
    (v1 as Truck).Speak();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题