POP和OOP

发布时间 2023-07-22 08:29:49作者: hdxg

POP叫面向过程,OOP叫面向对象,看起来好像是同级互斥的关系,但其实不是。OOP其实是POP的拓展。

POP简单地说,就是把一个问题的解决方案分成若干个步骤,然后依次执行,换句话说,就是对一个问题的流程化建模。

OOP则是把整个系统抽象为若干个对象,各自负责自己的功能。每个功能的实现也会需要用到POP。

在语言层面上,POP语言(如C)中,模块是方法,是静态的;而在OOP语言(如Java)中,增加了对象作为模块,对象可以持有自己的数据,是动态的。在OOP语言中,如果想回归POP的编程思维,则这样做:所有的类导出static方法,且不持有自己的数据,所有的数据放到main函数里。

OOP的出现是必然,因为我们在编写软件的时候,会觉得所有事情都由main函数里做是很不适的,我们天然地会把其抽象为多个角色,让每个角色负责自己的事情。