面向过程编程
面向过程编程的核心:功能分解(自顶向下,逐步求精)。就是将一个大问题分解成多个小问题,多个小问题再进行分解;解决小问题就会容易很多
面向过程最重要的原则:高内聚、低耦合
内聚是指模块内部各成员之间关联的紧密程度
耦合是指模块与模块之间关联的紧密程度
面向过程的特点: 1)分析解决问题所需要的步骤 2)利用函数实现各个步骤,解决个问题
面向过程编程的主要缺点就是 不符合人的思维习惯,而是要用计算机的思维方式去处理问题,而且面向对象编程语言重用性低,维护困难,无法编写大型的应用程序
面向对象编程
面向对象编程简称OOP技术。面向过程编程主要是模块化,而面向对象编程则是对象化。在面向过程编程中所有的代码往往包含在几个模块中,这样难以维护和阅读。在做一个修改时,往往牵一百动。面向对象编程每个模块都有特定的功能,彼此相互独立,这就增加了代码重用的几率,更加利于软件的开发、维护。
面向对象的主要思想就是模拟现实。在现实中执行任务的是一个个实体,一个实体就包含属性和行为,比如人就是一个实体,而人又包含姓名、年龄等属性,吃饭、睡觉、打豆豆等行为;将现实中的实体抽象成ADT(抽象数据类型),ADT中也就拥有实体中的属性和行为;
而面向对象也就是模拟现实,其中的类模拟现实中的ADT,大家都知道类中包含成员变量和成员方法,这两者正好是模拟现实中的属性和行为;将类实例化就成了对象,就成了面向对象中执行任务的单元。因此对象中也就包含了成员变量和成员方法。
对比面向过程,面向对象主要是使代码对象化。满足了代码的复用性和灵活性。复用性是面向对象编程的一个主要机制。灵活性主要是应对变化的特性,因为客户的需求是不断改变的,怎样适应客户需求的变化,这是软件设计灵活性或者说是弹性的问题。
面向对象的特点:1)直接分析用户需求中涉及的各个实体 2)在代码中描述现实世界的实体 3)在代码中关联各个实体协同工作解决问题