base类的源码解析