这些不能放在基类里实现？
@MaxinMicrocyber