定义一个车辆(Vehicle)基类,具有Speed、MaxSpeed、Weight等属性,具有Run、Stop等方法。以该类为基类派生出Bicycle、Car类,为两个派生类添加新的属性和方法,并重写基类的Run方法,并对该派生类的功能进行验证。
class Vehicle
{
public double speed;
public double Speed
{
get { return speed; }
set {
if (value >= 0)
{
speed = value;
}
else
{
Console.WriteLine("此速度值不在正常范围!");
}
}
}
public double maxspeed;
public double Maxspeed
{
get { return maxspeed; }
set
{
if (value >= 0&&value>=speed)
{
maxspeed = value;
}
else
{
Console.WriteLine("此速度值不在正常范围!");
}
}
}
public double weight;
public double Weight
{
get { return weight; }
set {
if (value > 0)
{
weight = value;
}
else
{
Console.WriteLine("此速体重不在正常范围!");
}
}
}
public virtual void Run()
{
Console.WriteLine("我开始跑了");
}
public void Stop()
{
Console.WriteLine("我停车了");
}
class Bicycle : Vehicle
{
public void PrintName()
{
string name;
Console.WriteLine("请输入我的姓名:");
name = Console.ReadLine();
Console.WriteLine("请输入我的体重:");
Weight = double.Parse(Console.ReadLine());
Console.WriteLine("请输入我的当前时速:");
Speed = double.Parse(Console.ReadLine());
Console.WriteLine("请输入我的最高时速:");
Maxspeed = double.Parse(Console.ReadLine());
Console.WriteLine("我是自行车!我的名字叫"+name+"!\n我的体重是"+Weight+"!我的当前时速是"+speed+"!我的最高时速是"+maxspeed+"");
}
public override void Run()
{
Console.WriteLine("我跑起来了因为我是自行车有点慢!");
}
}
class Car : Vehicle
{
public void PrintName()
{
Console.WriteLine("我是汽车!");
}
}
static void Main(string[] args)
{
Bicycle bicycle = new Bicycle();
bicycle.Run();
bicycle.PrintName();
bicycle.Stop();
Car car = new Car();
car.PrintName();
Console.ReadLine();
}
}