定义
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