1.什么是面向过程 & 什么是面向对象 & 区别?
面向过程:
当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一个个过程),等方法执行完了,事情就搞定了。
缺陷:
设计阶段就需要考虑每一个模块应该分解成哪些子模块,每一个子模块
又细分为更小的子模块,如此类推,直到将模块细化为一个个函数。
存在的问题:
设计不够直观,与人类的思维习惯不一致
系统软件适应性、扩展性、维护性都很低
面向对象
一种基于面向过程的新编程思想,顾名思义就是该思想是站在对象的角度思考问题,我们把多个功能合理放到不同对象里,强调的是具备某些功能的对象。
具备某种功能的实体,称为对象。面向对象最小的程序单元是:类。面向对象更加符合常规的思维方式,稳定性好,可重用性强,易于开发大型软件产品,有良好的可维护性。
优点:
阔以使过程更加模块化,降低耦合度,实现更高的内聚
——低耦合高内聚
面向对象的三大特征:
封装:指将对象的实现细节隐藏起来,然后通过公共的方法来向外暴露该对象的功能
继承:面向对象实现软件复用的重要手段,当子类继承父类后,子类是一种特殊的父类,能直接或简介获得父类里的成员
多态:是可以直接把子类对象赋给父类变量,但是运行时依然表现出子类的行为特征,这意味着同一类型的对象在运行时可能表现出不同的行为特征
更直观的理解这俩的区别,阔以这么举一个例子:
面向过程就是 打牌 (你,我,他)
面向对象就是 我.打牌(你,他)or 你.打牌(我,他) or 他.打牌(我,你)