在我研读分词器源码的过程中,又碰到了以前还未完全弄明白的抽象方法与虚方法。下面我将结合源码里面的内容,重新来学习一些抽象方法与虚方法的区别。
下面是分词器模块中的一部分类的关系图。
TokenStream类是所有类的父类。TokenStream类里面有两个方法,看下面的代码:
class TokenStream
{
///<summary>
///返回语汇单元流中的下一个词元,或者是空,也就是结束,返回EOS
///Returns the next token in the stream, or null at EOS.
///</summary>
abstract public Token Next();
///<summary>
///释放语汇单元流所使用的资源
///</summary>
public virtual void Close()
{
}
}