一、Java的面向对象学习的三条主线
1、Java类及类的成员:属性、方法、构造器;代码块、内部类
2、面向对象的三大特征:封装性、继承性、多态性、(抽象性)
3、其他关键字:this,super,static,final,abstract,interface,package
二、人把大象放冰箱需要(举例面向对象何和面向过程编程的区别)
1、面向过程:强调的是功能行为,以函数为最小的单位,考虑怎么做
①把冰箱门打开
②抬起大象,塞进冰箱
③把冰箱门关闭
2、面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做
人{
打开(冰箱){
冰箱.(开开);
}
抬起(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.闭合();
}
}
冰箱{
开开(){}
闭合(){}
大象{
进入(冰箱){ }
}
}
对比总结:
面向对象就好比是一个刚刚成立的一家公司,人员不够,所以说来了一个项目之后几个人协商一下,按照需求制定相对应的步骤将其完成就行,没有一个明确的分工。
而面向过程的编程就好比是一个相对来说比较成熟的企业,都设有明确的分工对应相对的部门。一个项目来了之后,需要某个步骤某个需求,让相应的部门去做就完事,各司其职 分工明确。若顺应市场的变化需要做一些调整,只需在相应的部门下添加相应的功能就完事,就类似于在OOP中对应的类中添加相应的函数一样。这也正是面向对象的编程比面向过程的编程好的地方,面对变化更具有灵活性,只需做小小的改动即可。