为了明确声明不允许创建某个类的实例,必须将那个类显示地声明为抽象类,这是使用abstract关键字来完成的。
abstract class DefaultTokentmpl
{
public DefaultTokenImpl(string name)
{
this.name=name;
}
public string Name()
{
return name;
}
private string name;
}
密封类:
C#使用sealed关键字来防止一个类被用作基类。
sealed class LiteralToken : DefaultTokenImpl,IToken
{
..
}
密封类不能声明任何virtual方法。 virtual关键字惟一的目的就是声明这是方法的第一个实现,以后要在一个派生类中覆盖它。但是,密封类不能作为基类使用,以后无法从这个类派生。
结构 struct 被隐式地密封。一个结构永远不能派生出另一个结构。
密封方法:
也可以使用sealed关键字将一个单独的方法声明为密封方法。在此之后,一个派生类不能覆盖密封方法。
@interface---引入一个方法的名称
@virtual --- 方法是方法的第一个实现
@override---方法是方法的另一个实现
@sealed --- 方法是方法的最后一个实现