面向对象概念
1.1 什么是面向过程
就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
生活中的的例子举例。
1.2 什么是面向对象
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
- 面向对象是一种思维方法
- 面向对象是一种编程方法
- 面向对象并不只针对某一种编程语言
1.3 面向对象和面向过程的区别和联系
- 面向过程过程侧重整个问题的解决步骤,着眼局部或者具体
- 面向对象侧重具体的功能,让某个对象具有这样的功能。更加侧重于整体。
各自的优缺点
面向过程的优点:
流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果;
效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。。
流程明确,具体步骤清楚,便于节点分析。
缺点是:需要深入的思考,耗费精力,代码重用性低,扩展能力差,维护起来难度比较高,
对复杂业务来说,面向过程的模块难度较高,耦合度也比较高。
面向对象的优点:结构清晰,程序便于模块化,结构化,抽象化,更加符合人类的思维方式;
封装性,将事务高度抽象,从而便于流程中的行为分析,也便于操作和自省;
容易扩展,代码重用率高,可继承,可覆盖;
实现简单,可有效地减少程序的维护工作量,软件开发效率高。
缺点是:效率低,面向对象在面向过程的基础上高度抽象,从而和代码底层的直接交互非常少机会,
从而不适合底层开发和游戏甚至多媒体开发;
复杂性,对于事务开发而言,事务本身是面向过程的,过度的封装导致事务本身的复杂性提高。