两包
3、多态性
“面向过程”是以过程为中心的编程思想。
就是分析解决问题需要的步骤,然后用函数一步步实现这些步骤。 使用时只需一一调用即可。
“面向对象”(简称OO)是一种以事物为中心的编程思想。
就是把构成问题的事务分解成各种对象。 建立对象的目的不是为了完成一个步骤,而是描述解决问题的整个步骤中某个事物的行为。
面向过程的优点:过程化让编程任务清晰,实现方法和最终结果基本在开发前就考虑好了; 高效率、面向过程强调代码的胆怯性,善于结合数据结构开发高效的程序。 。 流程清晰,具体步骤清晰,便于分析节点。 缺点是:需要深入思考,消耗精力,代码复用性低,可扩展性差,维护起来相对困难。 对于复杂的业务,面向对象的模块难度较大,耦合度也比较高。
面向对象的优点:结构清晰,程序易于模块化、结构化、抽象化,更符合人类思维; 封装性,高度抽象事务,方便过程中的行为分析,也方便操作和自省; 易于扩展,代码复用率高,可继承,可覆盖; 实现简单,能够有效减少程序的维护工作量,软件开发效率高。 面向对象的缺点:效率低,面向对象是在面向过程的基础上高度抽象的,所以与底层代码直接交互的机会很少,所以不适合底层开发、游戏甚至多媒体开发; 复杂性,对于事务开发来说,事务本身是面向流程的,过度的封装导致事务本身的复杂性增加。