大改  分离类

重写所有数据结构 封装成员变量