重构代码，添加面向对象机制