一、面向过程(POP)与面向对象(OOP)
1.基本解释
面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做
面向对象,将功能封装进对象,强调了具备功能的对象,以类或者对象为最小单位,考虑谁来做。
2.面向对象的三大特征
封装
继承
多态
3.经典举例——“如何把大象装进冰箱”
面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做
①把冰箱门打开
②抬起大象,塞进冰箱
③把冰箱门关闭
面向对象:强调了具备了功能的对象,以类或者对象为最小单位,考虑谁来做
①人把大象装进冰箱,一共有三个主体,分别是“人”,“大象”,“冰箱”。每个主体都可以看做是一个对象,关注主体需要什么样的功能,把功能封装到对象当中
②人需要具备的功能
人{
打开(冰箱){
冰箱.open; //调用冰箱打开的功能
}
抬起(大象){
大象.put(冰箱)//调用大象进入冰箱的功能
}
关闭(冰箱){
冰箱.close //调用冰箱关闭的功能
}
}
③冰箱需要具备的功能
冰箱{
open(){
//这里涉及一些冰箱如何打开的细节问题
}
close(){
//这里涉及一些冰箱如何关闭的细节问题
}
}
④大象需要具备的功能
大象{
put(){
//这里涉及大象如何进入冰箱的细节功能
}
}
⑤通过这个例子,我们创建了一个真实存在的人,大象,以及冰箱,分别考虑他们各自的功能。这些真实的事物,就是对象,考虑对象相互之间功能如何调用,就能完成需要的效果。