把借口简单重写了一下, 写了个抽象类,方便日后