Hay algunas otras diferencias que se pueden explicar con la ayuda de la tabla de comparación.
Gráfica comparativa
Base para la comparación | POPULAR | OOP |
---|---|---|
BASIC | Procedimiento / Estructura orientada. | Orientado a objetos. |
Enfoque | De arriba hacia abajo. | De abajo hacia arriba. |
Base | El enfoque principal está en "cómo hacer la tarea", es decir, en el procedimiento o estructura de un programa. | El foco principal está en la "seguridad de datos". Por lo tanto, solo los objetos tienen permiso para acceder a las entidades de una clase. |
División | El programa grande se divide en unidades llamadas funciones. | Todo el programa está dividido en objetos. |
Modo de acceso a la entidad | No se observó especificador de acceso. | Los especificadores de acceso son "público", "privado", "protegido". |
Sobrecarga / Polimorfismo | Ni sobrecarga funciones ni operadores. | Sobrecarga funciones, constructores y operadores. |
Herencia | No hay provisión de herencia. | Herencia conseguida en tres modalidades público privada y protegida. |
Ocultación de datos y seguridad | No hay una forma adecuada de ocultar los datos, por lo que los datos son inseguros | Los datos están ocultos en tres modos: público, privado y protegido. Por lo tanto, la seguridad de los datos aumenta. |
Compartir datos | Los datos globales se comparten entre las funciones del programa. | Los datos se comparten entre los objetos a través de las funciones miembro. |
Funciones / clases de amigos | Ningún concepto de función de amigo. | Las clases o funciones pueden convertirse en un amigo de otra clase con la palabra clave "amigo". Nota: la palabra clave "amigo" se usa solo en c ++ |
Clases / funciones virtuales | No hay concepto de clases virtuales. | El concepto de función virtual aparece durante la herencia. |
Ejemplo | C, VB, FORTRAN, Pascal | C ++, JAVA, VB.NET, C # .NET. |
Definición de programación orientada a objetos (OOP)
La principal preocupación de OOP es ocultar los datos de las funciones que no son miembros de una clase, que trata como "información crítica". Los datos están estrechamente vinculados a las funciones miembro de una clase, que opera en ella. No permite que ninguna función que no sea miembro modifique los datos que contiene. Los objetos se comunican entre sí a través de funciones miembro para acceder a sus datos.
La OOP se desarrolla sobre el concepto básico de "objeto", "clases", "encapsulación o abstracción de datos", "herencia" y "polimorfismo / sobrecarga". En OOP, los programas se pueden dividir en módulos mediante la partición de datos y funciones, que se pueden usar como plantillas para crear nuevas copias de módulos, si es necesario.
Definición de programación orientada a procedimientos (POP)
POP es una forma convencional de programación. La programación de procedimientos es donde el enfoque principal es lograr que la tarea se realice en un orden secuencial. Organigrama organiza el flujo de control del programa. Si el programa es grande, está estructurado en algunas unidades pequeñas llamadas funciones, que comparten datos globales. Aquí surge la preocupación por la seguridad de los datos, ya que hay un cambio involuntario en el programa por funciones.
Diferencias clave entre la POO y el POP
- POP es una programación orientada a procedimientos, mientras que OOP es una programación orientada a objetos.
- El enfoque principal de POP está en "cómo hacer la tarea", sigue el diagrama de flujo para hacer la tarea. El enfoque principal de OOP es la seguridad de los datos, ya que solo los objetos de una clase pueden acceder a los atributos o la función de una clase.
- Las funciones son pequeñas unidades de los grandes programas que se ejecutan para realizar la tarea principal. En OOP, los atributos y funciones de la clase se dividen entre los objetos.
- En POP, no hay un modo de acceso específico para acceder a atributos o funciones en el programa, mientras que en OOP hay tres modos de acceso "público", "privado", "protegido", que se utilizan como acceso compartido para acceder a atributos o funciones .
- POP no admite el concepto de sobrecarga / polimorfismo. La OOP admite la sobrecarga / polimorfismo, lo que significa que se utiliza el mismo nombre de función para realizar diferentes funciones. Podemos sobrecargar funciones, constructores, y operadores en OOP.
- No hay ningún concepto de herencia en POP, mientras que OOP admite la herencia que permite usar el atributo y las funciones de otra clase al heredarlo.
- POP es menos seguro en comparación con OOP porque en OOP el especificador de acceso limita el acceso a los atributos o funciones que aumentan la seguridad.
- En POP, si algunos datos se comparten entre todas las funciones del programa, se declaran globalmente fuera de todas las funciones. En POO se puede acceder al miembro de datos de la clase a través de las funciones miembro de la clase.
- En POP, no hay un concepto de la función de amigo, mientras que, en OOP, hay un concepto de función de amigo que no es el miembro de la clase, pero debido a que es miembro de un amigo puede acceder al miembro de datos y las funciones de miembro de la clase.
- No hay concepto de clases virtuales en POP mientras que, en OOP, las funciones virtuales son compatibles con el polimorfismo.
Conclusión
Las fallas de POP surgen de la necesidad de OOP. La POO corrige los defectos de POP al introducir el concepto de "objeto" y "clases". Mejora la seguridad de los datos y la inicialización y eliminación automática de objetos. La POO permite crear múltiples instancias del objeto sin ninguna interferencia.