C#之abstract(抽象类)

定义

abstract关键字,表明某个类只能是其他类的基类。
可以在父类中定义一个函数,但是不去实现。所有继承自该类的子类都必须实现该类中的所有抽象函数

功能:abstract关键字可以如下功能一起使用:类、属性、方法、索引器及事件等。与接口比较,它是单继承的,接口是多实现的。

注意:不可以用抽象类来进行实例化,但可以用抽象类来声明。但凡某一个类中有一个抽象方法,那么该类也就必须定义为抽象类。

示例
在此例中,类 Square 必须提供 Area 的实现,因为它派生自 ShapesClass
    
    abstract class ShapesClass
    {
        abstract public int Area();
    }
    class Square : ShapesClass
    {
        int side = 0;

        public Square(int n)
        {
            side = n;
        }
        // Area method is required to avoid
        // a compile-time error.
        public override int Area()
        {
            return side * side;
        }

        static void Main() 
        {
            Square sq = new Square(12);
            Console.WriteLine("Area of the square = {0}", sq.Area());
        }

        interface I
        {
            void M();
        }
        abstract class C : I
        {
            public abstract void M();
        }
    }
    // Output: Area of the square = 144

你可能感兴趣的:(C#之abstract(抽象类))