【学习感悟】充分利用抽象类实现强制重写
2009-05-14 07:33 Robiplus 阅读(269) 评论(0) 收藏 举报最近在看Beginning c#object....发现抽象类有个用法,之前一直没注意到,所以来这和大家分享下....
之前都知道从abstract类可以派生到其他类(abstract or 非abstract)...但一直没有注意到可以从非abstract类派生到abstract类!....但仔细想来这样做有啥用呢?基于abstract方法的一个特点---强制多态,我们可以利用它要求之后的类重写被改为abstract的方法.
看个例子:
abstract class A : Object
{
//
.
public abstract override string ToString();
}
sealed class B : A
{
public override string ToString()
{
return string.Empty;
}
}
{
//
.public abstract override string ToString();
}
sealed class B : A
{
public override string ToString()
{
return string.Empty;
}
}
abstract的A中把object的ToString()改为abstract从而在之后的类(比如这里的B)中强制要求override方法!
浙公网安备 33010602011771号