我自己根据我的经验,自己归档总结了下,

所谓面向对象,就是 以基于对象的思维去分析和解决问题,万物皆对象;

 

面向对象经常和面向过程放一起讨论;

 

这里举例,

比如要造一辆自行车,假如以面向过程的思维搞,张三先搞轮子,

李四再搞车架,王五再搞链条,赵六再搞脚踏板...最终拼拼凑凑,搞出一辆勉强能骑的车;

但是,假如某个部件要调整下,其他部件要调整的东西太多了,有时候搞不好还得重头开始搞;

面向过程的缺点就是 扩展性 维护性差,但是也是有优点的,就是速度快;

 

假如以面向对象的思维造一辆自行车,说严谨点就是去设计一辆自行车;

我们首先要做的是分析一辆自行车所需要的部件,比如轮子,车架,链条,脚踏板等等;

然后分析和设计出每个部件的尺寸和用料;

然后是分配按照部件去实现,把每个部件分配给指定的人去做;

最后就是把所有已经完成的部件组装起来,就是一辆自行车;

这样做出来的自行车,维护性和扩展性都要比面向过程思维做出来的强;

唯一的缺点就是前期投入的时间长一点;

 

Java面向对象三大特性;

 

封装:我们可以类,类里有方法,属性,可以封装很多功能 仅仅对外暴露一些接口,来实现模块化,组建化,和安全性;

 

继承:Java中的类可以继承,类似子女可以继承父母的东西;来实现可扩展;

 

多态:Java中的父类接口可以指向子类实现的引用;这个我们后面通过实例详细讲解;

 

以后三个特性很重要,我们后续章节通过实例详解;