供大家学习参考,部分代码要求自己完善。。