改写为构造函数方式