La diferencia entre lenguajes de programación procedimentales y orientados a objetos
C y JAVA están orientados a objetos.
La diferencia entre orientación a objetos y orientación a procesos
Una es amplia y la otra es profunda.
En términos generales, la orientación a objetos es simple, mientras que la orientación a procesos requiere una calidad del personal demasiado alta.
Orientado a procesos consiste en analizar los pasos necesarios para resolver el problema y luego utilizar funciones para implementar estos pasos paso a paso. Cuando lo uses, llámalos uno por uno.
Orientado a objetos consiste en descomponer las transacciones que constituyen el problema en varios objetos. El propósito de crear un objeto no es completar un paso, sino describir el comportamiento de algo en todo el paso de resolución del problema.
Alan Cooper mencionó en "El camino hacia la innovación del software":
La diferencia entre orientado a procesos y orientado a objetos no es tan grande como la gente piensa.
La mayoría de las ideas en orientación a objetos también se pueden reflejar en el proceso orientado a objetos.
Pero el mayor problema con la orientación a procesos (quizás el único defecto inherente) es que a medida que el sistema se expande, la orientación a procesos no podrá hacer frente a él, lo que eventualmente conducirá al colapso del sistema.
La orientación a objetos es un intento de solucionar esta crisis del software.
Hasta el momento, parece tener algún efecto.
Pero todavía queda un largo camino por recorrer.
-
Hagamos algunas comparaciones:
Análisis de herramientas del método de componentes básicos
-
Basado en algoritmos Pseudocódigo orientado a procesos para diagramas de flujo de datos funcionales/de proceso...
Modelado UML orientado a objetos basado en clases de objetos...Rose, viso, etc.
-
De hecho, siempre he creído que tanto la orientación a objetos como la orientada a procesos encarnan la idea de la reutilización del software.
Solo la orientada a procesos reutiliza procedimientos y funciones, mientras que la orientada a objetos reutiliza clases, entidad que encapsula datos y procesos y funciones para procesar datos. De hecho, la diferencia entre procesos y funciones orientados a objetos y orientados a procesos no es muy grande, por lo que los diagramas de flujo de datos y el pseudocódigo siguen siendo útiles.
Uno de los beneficios de la orientación a objetos es la encapsulación de datos y métodos, lo que pone en juego las tres características principales de la orientación a objetos.