概述
面向对象和面向过程是从不同角度思考问题。比如我要做饭,炒一个西红柿鸡蛋,再炒一个土豆。按照常规的方法,我先洗西红柿,然后切,打鸡蛋,然后放油,放菜,放盐然后等它熟了就好了。炒土豆的时候先洗土豆,然后削皮,切土豆,放油,放菜,放盐,坐等菜熟。人们发现炒西红柿鸡蛋和炒土豆有好多共同的地方啊,比如说都要洗菜,切菜,放油,放菜,放盐等,但是他们也有一些不同之处,比如炒西红柿鸡蛋要打鸡蛋,炒土豆要削皮。如果写代码的时候写一遍洗菜,切菜等,到炒下一个菜的时候又要再写一遍,好麻烦啊,能不能不用重写,用的时候复制一下不好吗?所以面向对象应运而生。抽象出一个炒菜的类,比如能洗菜,切菜,放油等。等我想炒土豆的时候就实例化一个炒菜类,然后加上削皮这个功能就好了。
界面设计在编程中也是相当重要的。人靠衣装,马靠鞍,好看的界面用户也想用是吧? 但是界面得符合用户的工作特性,用户的能力水平等。再好的马鞍按到人身上也不合适,是吧?