Java-面向对象_面向对象和面向过程的区别
面向过程:当事情比较简单的时候,利用面向过程,注重的是时间的具体的步骤/过程,注重的是过程中的具体行为,以函数为最小单位,考虑怎么做。
面向对象:注重找“参与者”,将功能封装进对象,强调具备功能的对象,以类/对象为最小单位,考虑谁来做。
案例:
人把大象装进冰箱
面向过程:
函数1:打开冰箱(){人站在冰箱前,打开冰箱,冰箱开到30度角的时候,冰箱的灯打开了....}
函数2:储存大象(){大象先迈出左腿,再迈出右腿,考虑冰箱能不能装的下...}
函数3: 关闭冰箱(){人站在冰箱前,关闭冰箱,冰箱关到30度角的时候,冰箱的灯熄灭了....}
面向对象:
人{
打开(冰箱){
冰箱.打开();
}
储存(大象){
大象.进入();
}
关闭(冰箱){
冰箱.关闭();
}
}
冰箱{
打开(){}
关闭(){}
}
大象{
进入(冰箱){}
}
面向过程---》面向对象,其实就是执行者到指挥者的一个过渡
二者相辅相成,并不是队里的。解决复杂的问题,通过面向对象方式方便我们从宏观上把握事物之间的复杂关系,方便我们分析整个系统,具体到微观操作,仍然使用面向过程方式来处理
也有人说,
面向过程:编年体 (根据年份时间来说明谁谁谁做了什么)
面向对象:纪传体(根据一个人说明他在不同时间做了什么)