En la anterior entrada “Principales errores al comenzar con Python” se plantearon los principales errores que se cometen cuando se empieza a programar con Python. Otra duda que surge a los iniciados es reconocer y saber qué elementos conforman el lenguaje y cómo funciona. En esta entrada vamos a establecer las nociones básicas más importantes:
Algo que hay que tener muy en cuenta y que a las personas que empiezan a trabajar con programación puede llegar a confundir, es que es un lenguaje orientado a objetos ¿Y eso qué significa? (además es un lenguaje interpretado, interactivo, dinámico, modularizado, e incluso puede actuar como una calculadora).
Pero vamos a centrarnos en el OOP (Object Oriented Programming). La programación orientada a objetos es un tipo de paradigma de programación basado alrededor de clases de programación y ejemplos de clases llamadas objetos.
Antes que nada hay que entender cómo funciona este tipo de lenguaje, para ello, hay que diferenciar entre objetos y clases:
Una clase es una colección de objetos de tipo similar. Una vez que se define una clase, cualquier objeto nuevo creado puede pertenecer a esa clase.
Los objetos son las entidades de ejecución básica. Cuando se ejecuta un programa, los objetos interactúan entre sí mediante el envío de mensajes. Diferentes objetos también pueden interactuar entre sí sin conocer los detalles de sus datos o de código. Más sencillo un objeto es una cosa. Y, si una cosa es un sustantivo, entonces un objeto es un sustantivo. Por supuesto, un objeto puede tener otros objetos.
Además un objeto (coche); puede tener color, un tamaño, etc. (estos son los atributos, definen al objeto) y de ellos se generan las cualidades de los atributos que son los adjetivos en sí (verde, grande, etc.). Pero incluso puede tener otros objetos (atributo-objeto), por ejemplo ventana, que a su vez posee sus propios atributos y cualidades.
Y no nos olvidemos de los métodos (también denominadas funciones) representan acciones propias que puede realizar el objeto (y no otro).
Vamos a explicar mejor esto con código ¿no? Pero antes vamos a conocer otra de las ventajas del OOP, son sus cuatro principios fundamentales, que nos van a ayudar a entender mejor cómo se organiza el código:
1.La encapsulación:
El almacenamiento de datos y funciones en una sola unidad (clase) es la encapsulación. Los datos no pueden ser accesibles desde fuera y sólo aquellas funciones que se almacenan en la clase pueden acceder a él.
2.Abstracción de datos:
La abstracción se refiere al acto de que representan características esenciales sin incluir los detalles del fondo y explicaciones. Las clases utilizan el concepto de abstracción y se definen como una lista de atributos abstractos.
3.Polimorfismo:
Polimorfismo significa la capacidad de tomar más de una forma. Una operación puede presentar diferentes comportamientos en diferentes instancias. El comportamiento depende de los tipos de datos utilizados en la operación. El polimorfismo es ampliamente utilizado en la aplicación de la herencia.
4.Herencia:
Esto es, se pueden crear clases nuevas a partir de clases anteriormente creadas y aquellas pueden obtener los atributos, métodos, etc. de la clase de la que depende.
Veamos un ejemplo básico de código sobre lo que hemos explicado:
En otra entrada nos dedicaremos a los elementos del lenguaje que integra Python con mucho más detalle. TYC GIS os ofrece formación relacionada con esta temática “curso online (tanto nivel usuario como avanzado) de Python en ArcGIS”.
muy buena explicación de oop, Gracias Enrique Chile