做了些接口，抽象类的尝试。。