Programación Orientada a Objetos
¿Qué es la Programación Orientada a Objetos?
La Programación Orientada a
Objetos (POO) es un paradigma de programación, es decir, un modelo o un estilo de programación que nos da unas
guías sobre cómo trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un
programa de software en piezas simples y reutilizables de planos de código
(clases) para crear instancias individuales de objetos.
A lo largo de la historia, han
ido apareciendo diferentes paradigmas de programación. Lenguajes secuenciales
como COBOL o procedimentales como Basic o C, se centraban más en la lógica que
en los datos. Otros más modernos como Java,
C# y Python, utilizan paradigmas para definir los programas, siendo la
Programación Orientada a Objetos la más popular.
Con el paradigma de Programación Orientado a
Objetos lo que buscamos es dejar de centrarnos
en la lógica pura de los programas, para empezar a pensar en objetos, lo que
constituye la base de este paradigma. Esto nos ayuda muchísimo en sistemas
grandes, ya que en vez de pensar en funciones, pensamos en las relaciones o
interacciones de los diferentes componentes del sistema.
Un programador diseña un
programa de software organizando piezas de información y comportamientos
relacionados en una plantilla llamada clase. Luego, se crean objetos
individuales a partir de la plantilla de clase. Todo el programa de software se
ejecuta haciendo que varios objetos interactúen entre sí para crear un programa
más grande.
¿Por qué POO?
La Programación Orientada a
objetos permite que el código sea reutilizable, organizado y fácil de mantener.
Sigue el principio de desarrollo de software utilizado por muchos
programadores DRY (Don’t Repeat Yourself), para evitar
duplicar el código y crear de esta manera programas eficientes.
Además, evita el acceso no deseado a los datos o la exposición de código
propietario mediante la encapsulación y la abstracción, de la que hablaremos en
detalle más adelante.
Clases, objetos e
instancias
¿Cómo se crean los programas
orientados a objetos? Resumiendo mucho, consistiría en hacer clases y crear
objetos a partir de estas clases. Las clases forman el modelo a partir del que
se estructuran los datos y los comportamientos.
El primer y más importante
concepto de la POO es la distinción entre clase y objeto.
Una clase es una plantilla. Define de
manera genérica cómo van a ser los objetos de un determinado tipo. Por ejemplo,
una clase para representar a animales puede llamarse ‘animal’ y tener una serie
de atributos, como ‘nombre’ o ‘edad’ (que normalmente son propiedades), y una
serie con los comportamientos que estos pueden tener, como caminar o comer, y
que a su vez se implementan como métodos de la clase (funciones).
Un ejemplo
sencillo de un objeto, como decíamos antes, podría ser
un animal. Un animal tiene una edad, por lo que creamos un nuevo atributo de
‘edad’ y, además, puede envejecer, por lo que definimos un nuevo método. Datos
y lógica. Esto es lo que se define en muchos programas como la definición de
una clase, que es la definición global y genérica de muchos objetos.
Por lo tanto, llamar a sus
métodos puede tener resultados diferentes. Los dos comparten la lógica, pero
cada uno tiene su estado de forma independiente.
Todo esto, junto con los principios que vamos a ver a
continuación, son herramientas que nos pueden ayudar a escribir un código
mejor, más limpio y reutilizable.
Comentarios
Publicar un comentario