部分接口重新进行了抽象