La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que representa conceptos en una estructura denominada clase, que integra a las propiedades (datos) que describen al concepto, y a los procedimientos asociados, conocidos como métodos. Los objetos se crean a partir de las clases (Podemos considerar la clase “humano” que tiene ciertas características y un objeto una persona en particular como “Michael” que tiene nombre, edad, documento de identidad, altura; entre otras muchas cosas).
En la programación orientada a objetos como conceptos principales podemos encontrar:
Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ella.
Herencia: (Por ejemplo, herencia de la clase “humano” a la clase “empleado”) es la facilidad mediante la cual la clase “empleado” hereda en ella cada uno de los atributos y operaciones de “humano”, como si esos atributos y operaciones hubiesen sido definidos por la misma “empleado”. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en “humano”. Los componentes registrados como “privados” (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos.
Objeto: Es la instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos.
Método: Es la implementación de un algoritmo que representa una operación o función que un objeto realiza. El conjunto de los métodos de un objeto determinan el comportamiento del objeto.
La sintaxis básica de un objeto en python es:
Veamos un ejemplo de cómo se vería una clase no muy grande:
Una vez creado un objeto, es decir, una vez hecha la instancia de clase, es posible acceder a sus métodos y propiedades. Para ello, Python utiliza una sintaxis muy simple: el nombre del objeto, seguido de punto y la propiedad o método al cuál se desea, como podemos ver:
Si una clase ofrece un método llamado __str__ , éste se impone al comportamiento por defecto de la función interna str de Python, por ejemplo si agregamos a nuestra clase IP el método __str__ funcionaria así:
Resultado de ejecución:
Ahora miremos como se ve la herencia en Python, recordemos que la herencia es cuando una clase toma las características (propiedades) del padre:
Comentarios