Welcome

首页 / 软件开发 / C# / C#抽象类、密封类及类成员

C#抽象类、密封类及类成员2011-07-02 博客园 Jackey_Chen1.抽象类和类成员

使用 abstract 关键字可以创建必须在派生类中实现的不完整的类和类成员。

例如:

public abstract class A
{
// Class members here.
}

抽象类不能实例化。抽象类的用途是提供多个派生类可共享的基类的公共定义。例如,类库可以定义一个作为其多个函数的参数的抽象类,并要求程序员使用该库通过创建派生类来提供自己的类实现。

抽象类也可以定义抽象方法。方法是将关键字 abstract 添加到方法的返回类型的前面。

例如:

public abstract class A
{
public abstract void DoWork(int i);
}

抽象方法没有实现,所以方法定义后面是分号,而不是常规的方法块。抽象类的派生类必须实现所有抽象方法。当抽象类从基类继承虚方法时,抽象类可以使用抽象方法重写该虚方法。

例如:

// compile with: /target:library
public class D
{
public virtual void DoWork(int i)
{
// Original implementation.
}
}

public abstract class E : D
{
public abstract override void DoWork(int i);
}

public class F : E
{
public override void DoWork(int i)
{
// New implementation.
}
}