C# 进阶 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

抽象类与抽象方法

  在C#中使用关键字 abstract 来定义抽象类和抽象方法。不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。如

abstract class ShapesClass    //抽象类的声明
    {
        abstract public int Area();
    }
    class Square : ShapesClass
    {
        int x, y;
        public override int Area() //重写抽象方法
        {
            return x * y;
        }
    }

  一个抽象类可以包含抽象和非抽象方法,当一个类继承于抽象类,那么这个派生类必须实现所有的基类抽象方法。

using System;
namespace test
{
abstract class MyAbs
    {
        public void NonAbMethod()
        {
            Console.WriteLine("Non-Abstract Method");
        }
        public abstract void AbMethod(); // 抽象方法
    }
    class MyClass : MyAbs   //必须实现基类的抽象方法
    {
        public override void AbMethod()
        {
            Console.WriteLine("Abstarct method");
        }
    }
    class MyClient
    {
        public static void Main()
        {
            MyClass mc = new MyClass();
            mc.NonAbMethod();
            mc.AbMethod();
        }
    }
}