C# - 抽象类

C# - 抽象类 首页 / C#入门教程 / C# - 抽象类

抽象类是在C#中实现抽象的方法。C#中的抽象是隐藏内部细节并仅显示功能的过程。抽象可以通过两种方式实现:

  1. Abstract class
  2. Interface

抽象类和接口都可以有抽象所必需的抽象方法。

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/c-sharp-abstract.html

来源:LearnFk无涯教程网

抽象方法

被声明为抽象且没有正文的方法称为抽象方法。它只能在抽象类内部声明。其实现必须由派生类提供。例如:

public abstract void draw();

C#中的一个抽象方法是内部虚拟方法,因此可以由派生类覆盖。

抽象方法声明中不能使用静电和虚拟修饰符。

C#抽象类

在C#中,抽象类是一个声明为抽象的类。它可以有抽象方法和非抽象方法。它不能实例化。其实现必须由派生类提供。在这里,派生类被强制提供所有抽象方法的实现。

无涯教程网

让无涯教程看一个用C#编写的抽象类的示例,它有一个抽象方法Draw()。它的实现由派生类Rectangle和Circle提供。这两个类具有不同的实现。

using System;
public abstract class Shape
{
    public abstract void draw();
}
public class Rectangle : Shape
{
    public override void draw()
    {
        Console.WriteLine("drawing rectangle...");
    }
}
public class Circle : Shape
{
    public override void draw()
    {
        Console.WriteLine("drawing circle...");
    }
}
public class TestAbstract
{
    public static void Main()
    {
        Shape s;
        s = new Rectangle();
        s.draw();
        s = new Circle();
        s.draw();
    }
}

输出:

drawing ractangle...
drawing circle...

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Linux性能优化实战 -〔倪朋飞〕

SQL必知必会 -〔陈旸〕

移动端自动化测试实战 -〔思寒〕

互联网人的英语私教课 -〔陈亦峰〕

Go 并发编程实战课 -〔晁岳攀(鸟窝)〕

技术面试官识人手册 -〔熊燚(四火)〕

React Hooks 核心原理与实战 -〔王沛〕

HarmonyOS快速入门与实战 -〔QCon+案例研习社〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

好记忆不如烂笔头。留下您的足迹吧 :)