面向对象、面向过程的定义和区别
面向过程的编程:
面向过程的编程可以定义为基于调用程序概念从结构化编程派生的编程模型。过程,也称为例程,子例程或函数,仅由要执行的一系列计算步骤组成。在程序执行期间,任何给定的过程都可以在任何时候被调用,包括其他过程或其本身。
面向过程的语言有:
FORTRAN,ALGOL,COBOL, BASIC,Pascal和C.
面向对象的编程:
可以将面向对象的编程定义为基于对象概念的编程模型。对象包含属性形式的数据和方法形式的代码。在面向对象的编程中,计算机程序是使用与现实世界交互的对象的概念来设计的。面向对象的编程语言多种多样,但最流行的是基于类的,这意味着对象是类的实例,它们也决定了它们的类型。
面向对象的语言有
Java,C ++,C#,Python,
PHP,JavaScript,Ruby,Perl,
Objective-C,Dart,Swift,Scala。
面向过程和面向对象编程之间的区别:
| 面向过程 | 面向对象 |
|---|---|
| 在过程编程中,程序分为称为***函数的***小部分。 | 在面向对象的编程中,程序分为称为***对象的***小部分。 |
| 过程编程遵循*自上而下的方法*。 | 面向对象的编程遵循自下而上**(自下而上的编程方法意味着要把软件分成好几层,每一层都可以充当它上面那一层的开发语言)**的方法。 |
| 程序编程中没有访问说明符。 | 面向对象的编程具有访问说明符,例如私有,公共,受保护等。 |
| 添加新数据和功能并不容易。 | 添加新数据和功能很容易。 |
| 过程编程没有任何合适的方法来隐藏数据,因此***安全性较低* | 面向对象的程序设计提供了数据隐藏功能,因此*更加安全*。 |
| 在过程编程中,不可能重载。 | 在面向对象的编程中可能会重载。 |
| 在过程编程中,功能比数据更重要。 | 在面向对象的编程中,数据比功能更重要。 |
| 过程编程基于*虚幻世界*。 | 面向对象的编程基于*现实世界*。 |
| 例如:C,FORTRAN,Pascal,Basic等。 | 示例:C ++,Java,Python,C#等 |