我最讨厌考试问这个问题!!!为什么要封装?为什么要抽象,根据什么来分装,根据什么来抽象?学校里做的小东西,能实现就不错了,变动很少,结果乱封装的人一堆,要真正理解面向对象的好处,就找个同学,自己出一个题目,代码量在5000~1万左右,做好之后叫他来找毛病,提需求,然后你就会把那些经常被人蹂躏的部分用和函数或类包起来,以后他再变也就是改一点而已,这样再多叫5、6个同学来折腾你的软件,直到他们觉得没什么好改了,知道你要修改一样东西的时候不会涉及到很多乱七八糟的,自己都搞不清楚的东西的时候,直到你里面做的东西人家随手就可以拿来用的时候,那时我想你会明白封装是什么意思,根据什么来封装,该怎么封装, 如果你有别的方法能让代码更好的修改,更好的重用,就用那个,管他什么方法呢?
考试制度约等于垃圾。