全部改写为面向对象的写法