抽象类
1.用abstract创建仅用于继承用途的类和类的成员。
2.抽象类不能被实例化,用于提供派生类可共享的基类的公共定义,
3.抽象类可以定义抽象方法,但是不提供实现,
public abstract class A
{
public abstract void FAng();//方法块
}
抽象方法没有实现,所以方法定义后面是分号,而不是常规的方法块。抽象类的派生类必须实现所有抽象方法。当抽象类从基类继承虚方法时,抽象类可以使用抽象方法重写该虚方法。
4.抽象类继承基类虚方法时,可重写虚方法
public class D()
{
public virtual void Fav()
{
}
}
public abstract class E:D
{
public abstract overide voidFav();
}
public class F :E
{
public override void Fav()
{
}
}
如果将虚方法声明为抽象方法,则它对于从抽象类继承的所有类而言仍然是虚的。继承抽象方法的类无法访问该方法的原始实现。在前面的示例中,类 F 上的 Fac() 无法调用类 D 上的 DoWork。在此情况下,抽象类可以强制派生类为虚方法提供新的方法实现。