c#定义一个车辆(Vehicle)基类,具有Speed、MaxSpeed、Weight等属性,具有Run、Stop等方法。以该类为基类派生出Bicycle、Car类,为两个派生类添加新的属性和方法,并重写基类的Run方法,并对该派生类的功能进行验证
时间: 2024-10-15 10:11:15 浏览: 41
首先,我们定义一个基础`Vehicle`类,包含基本属性和方法:
```csharp
public abstract class Vehicle
{
public double Speed { get; protected set; }
public double MaxSpeed { get; set; }
public double Weight { get; set; }
public virtual void Run()
{
Console.WriteLine("车辆正在运行,速度:{0}", Speed);
}
public virtual void Stop()
{
Console.WriteLine("车辆已停止");
}
}
```
然后,我们派生出`Bicycle`和`Car`两个子类,为它们添加特定属性和覆盖`Run`方法:
```csharp
public class Bicycle : Vehicle
{
public int NumberOfWheels { get; set; } // 自行车特有的属性
public override void Run()
{
if (Speed <= MaxSpeed && NumberOfWheels == 2) // 验证自行车特性
{
Console.WriteLine("自行车正在行驶,速度:{0}", Speed);
}
else
{
Console.WriteLine("自行车无法以当前速度运行或车轮数不符");
}
}
}
public class Car : Vehicle
{
public bool HasAir Conditioning { get; set; } // 汽车特有的属性
public override void Run()
{
if (Speed <= MaxSpeed)
{
Console.WriteLine("汽车正在行驶,速度:{0}", Speed);
if (HasAir Conditioning)
Console.WriteLine("汽车配备空调");
}
else
{
Console.WriteLine("汽车无法以当前速度运行");
}
}
}
```
现在,`Bicycle`和`Car`都有各自的特性和对`Run`方法的不同处理。例如,`Bicycle`会检查是否为双轮以及速度限制,而`Car`除了速度还会考虑是否有空调。
阅读全文