Entendiendo la Programación Orientada a Objetos

7/20/2024

Entendiendo la programación orientada a objetos

La formalización de la teoría de conjuntos es un tema reciente en la historia de las matemáticas. Georg Cantor inició esta teoría, y Fraenkel y Zermelo la formalizaron estrictamente.

Sin embargo, surgieron problemas, especialmente con el concepto de infinito. El libro Principia Mathematica de Russell y Whitehead se dedicó a resolver varios de estos problemas.

En matemáticas, no hay lugar para la contradicción. Aquí, nos referimos a contradicciones profundas, no a simples contradicciones verbales. Para ilustrarlo, imagina que las hojas de un libro son blancas y negras al mismo tiempo.

También podemos pensar en expresiones populares como “estoy muerto en vida”. Aunque aceptadas, no reflejan las verdaderas contradicciones matemáticas.

Russell llamó “círculo vicioso” a uno de los problemas más importantes donde aparecía la contradicción: una cosa no puede pertenecer a sí misma.

Imagen 2

Imagina que intentas comerte a ti mismo. Comienzas por los pies, pero es imposible continuar. Incluso lógicamente, una boca no puede comerse a sí misma porque es parte de lo que debe comer.

Imagen 3

Russell resolvió esto con la teoría de tipos, creando una jerarquía en relación a la pertenencia. Por ejemplo, el bigote es de color café, pero el bigote no pertenece al color café. Los grados de pertenencia no son iguales y esta diferencia crea la contradicción.

Ahora, enfoquémonos en la programación orientada a objetos (OOP):

La lógica detrás de OOP no es un capricho, sino un descubrimiento de cómo funciona el mundo. Aprender OOP implica seguir ciertos lineamientos, pero comprender la teoría es clave.

Aquí algunas preguntas fundamentales sobre OOP:

Entender OOP no se trata solo de seguir reglas, sino de comprender el porqué detrás de ellas. Un buen programador debe comprender estas bases para poder crear y resolver problemas eficientemente.