主要修改已有类的设计并增加向量类