C#实现抽象类demo
时间: 2023-10-14 08:25:17 浏览: 101
以下是一个简单的 C# 抽象类示例:
```csharp
// 抽象类
abstract class Shape
{
public abstract double Area(); // 抽象方法
}
// 继承抽象类的子类
class Rectangle : Shape
{
private double length;
private double width;
public Rectangle(double l, double w)
{
length = l;
width = w;
}
public override double Area() // 实现抽象方法
{
return length * width;
}
}
class Program
{
static void Main(string[] args)
{
Rectangle rect = new Rectangle(5, 10);
Console.WriteLine("矩形的面积为:" + rect.Area());
}
}
```
在上述示例中,`Shape` 是一个抽象类,其中定义了一个抽象方法 `Area()`。`Rectangle` 类继承自 `Shape` 类,并实现了 `Area()` 方法。在 `Main()` 函数中创建了 `Rectangle` 类的实例,并调用了其 `Area()` 方法。
相关问题
C#抽象类的作用demo
好的,我来为你展示一个C#抽象类的作用的demo。
首先,抽象类是一种不能被实例化的类,它只能被用作其他类的基类。抽象类中可以包含抽象方法,抽象方法只有声明,没有实现,子类必须实现这些抽象方法。抽象类的目的是为了提供一个通用的、抽象的模板,让子类去实现具体的细节。
下面是一个简单的抽象类的demo:
```csharp
using System;
public abstract class Animal
{
public abstract void MakeSound(); // 抽象方法
}
public class Dog : Animal
{
public override void MakeSound() // 实现抽象方法
{
Console.WriteLine("汪汪汪");
}
}
public class Cat : Animal
{
public override void MakeSound() // 实现抽象方法
{
Console.WriteLine("喵喵喵");
}
}
class Program
{
static void Main(string[] args)
{
Animal dog = new Dog();
dog.MakeSound(); // 输出 "汪汪汪"
Animal cat = new Cat();
cat.MakeSound(); // 输出 "喵喵喵"
}
}
```
这个demo中,我们定义了一个抽象类`Animal`,其中包含了一个抽象方法`MakeSound()`。然后我们定义了两个具体的子类`Dog`和`Cat`,分别实现了`MakeSound()`方法。
在`Main()`方法中,我们分别创建了一个`Dog`对象和一个`Cat`对象,并调用它们的`MakeSound()`方法,分别输出了"汪汪汪"和"喵喵喵"。这说明了抽象类的作用:提供了一个通用的模板,让具体的子类去实现具体的细节。
阅读全文