新增一个程序类，修改了部分函数的位置