Principios de Programación Orientada a Objetos - POO en IOTeca

Principios de Programación Orientada a Objetos - POO

La Programación Orientada a Objetos (POO) se define como un paradigma de la programación, una manera de programar específica, donde se organiza el código en unidades denominadas clases, de las cuales se crean objetos que se relacionan entre sí para conseguir los objetivos de las aplicaciones.

La POO se desarrolla dentro de un enfoque de ingeniería de software que busca conseguir que los esfuerzos de los programadores puedan ser reutilizados. El primer bloque de instrucciones reutilizable existente fue la función, que se escribe una vez y se pude llamar cualquier número de veces.

Sin embargo, la función se centra mucho en resolver ver un problema dado, pero no tiene tanto enfoque en los datos. Es cierto que la función puede recibir datos como parámetros, pero los trata de una forma muy volátil. Simplemente hace su trabajo, procesando los parámetros recibidos y devuelve una respuesta.

En las aplicaciones en realidad los datos están muy ligados a la funcionalidad. Por ejemplo podemos imaginar un punto que se mueve por la pantalla. El punto tiene unas coordenadas y podemos trasladarlo de una posición a otra, sumando o restando valores a sus coordenadas. Antes de la programación orientada a objetos ocurría que cada coordenada del punto tenía que guardarse en una variable diferente (dos variables para ser exacto: x, y) y las funciones de traslación estaban almacenadas por otra parte. Esta situación no facilitaba la organización del código ni tampoco su reutilización, cuando en realdad las coordenadas son atributos del punto que cambian cuando se mueve.

Clases

Pensar en términos de objetos es en realizad pensar en clases. Por ejemplo, vamos a pensar en una persona para tratar de modelizarlo en un esquema de POO. Diríamos que una persona es el elemento principal que tiene una serie de características, como podrían ser el nombre, número de documento, altura, el peso, edad. Además tiene una serie de funciones asociadas, como pueden ser caminar, leer o conversar.

Pues en un esquema POO la persona sería lo que se conoce como Clase. Sus características se conoce como Atributos y las funciones asociadas se llaman Métodos.

La clase es como in plantilla para los objetos de un mismo tipo. A partir de una clase podemos crear cualquier número de objetos de esa clase. Una persona que se llame Juan con documento 26222331 y 42 años y otra que se llame Eva con documento 42563451 y 22 años.

Atributos

Los atributos son las características de las clases que toman distintos valores en los objetos. Cuando definimos un atributo normalmente especificamos su nombre y su tipo. Las codificaremos como variables donde almacenamos datos relacionados con los objetos.

Métodos

Los métodos son las funciones asociadas a las clases que podrán ser llamadas desde un objeto en particular. Las codificaremos como funciones dentro de una clase.

Objetos

Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Comunmente diremos que instanciamos una clase al crear un objeto, o lo que es lo mismo, un objeto es una instancia de una clase.

Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee, pero será algo parecido a esto.

eva = new Persona() ó eva = Persona()

Con la palabra new o la llamada la clase especificamos que se tiene que crear una instancia de la clase que sigue a continuación. Dentro de los paréntesis podríamos colocar parámetros con los que inicializar el objeto de la clase. Estados

Durante el trabajo con un objeto sus atributos toman valores. Por ejemplo, cuando tenemos una persona el atributo edad tomará un valor dependiendo de su fecha de nacimiento. El valor concreto de un atribto de un objeto se llama estado.

Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto.

eva.edad = "22"

Mensajes

Un mensaje en un objeto es la acción de efectuar una llamada a un método.

Para llamar a un método de un objeto utilizamos el operador punto, seguido del método que deseamos invocar y los paréntesis, como en las llamadas a las funciones.

eva.leer(“diccionario”)

Características de la Programación Orientada a Objetos

La POO poseé varias características como los mecanismos como la herencia y el polimorfismo que son unas de las posibilidades más potentes de este paradigma de la programación.

Herencia

La herencia sirve para crear clases que incorporen propiedades y métodos de otros clases. Así podremos construir clases a partir de otras sin tener que reescribirlo todo.

Por ejemplo la clase Alumno podría heredar a la clase Persona, ya que atributo como número de legajo, promedio de notas, o métodos como inscribir, evaluar son adicionales a los que ya dispone la clase personal, La clase Profesores podría ser otra clase heredada de Personas.

Polimorfismo

El polimorfismo sirve para que no tengamos que preocuparnos sobre lo que estamos trabajando, y abstraernos para definir un código que sea compatible con objetos de varios tipos.

POO en Python

Algunas particularidades de POO en Python son las siguientes:

  • Todo es un objeto, incluyendo los tipos y clases.
  • Para conocer a que clase pertenece un objeto se puede utilizar type()
  • Permite herencia múltiple.
  • No existen métodos ni atributos privados.
  • Los atributos pueden ser modificados directamente.
  • Permite la sobrecarga de operadores.
  • Permite la creación de nuevos tipos de datos.

Creado: 28/05/2020  

Publicidad

| Volver a Programación |

Comentarios

Para poder comentar debés registrarte e ingresar al sitio.