面向过程:考虑怎么做。
面向对象:考虑谁来做。
下面举个例子,来帮助理解面向对象和面向过程的区别。
要是实现:人把大象装进冰箱:
面向过程 :
函数1:打开冰箱(){人站在冰箱前,打开冰箱,冰箱开到30度角时,冰箱灯亮了.......}
函数2:储存大象(){大象先迈左脚,大象再迈右脚,考虑冰箱能不能装下.......}
函数3:关闭冰箱(){人站在冰箱前,关闭冰箱,冰箱关到30度角时,冰箱灯灭了.......}
面向对象:
人{
打开(冰箱){
冰箱.打开();
}
存储(大象){
大象.存储()
}
关闭冰箱(){
冰箱.关闭()
}
}
冰箱(){
打开(){}
关闭(){}
}
大象(){
进入(冰箱){
}
}
面向过程————>面向对象 ,其实就是由执行者————>指挥者的一个过渡
二者相辅相成,并不是对立的,在面向对象里面的具体细节还是由面向过程来实现的。解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间复杂的关系,方便我们分析整个系统,具体道微观操作,仍然使用面向过程方式来处理。