Introducción a la Programación
Hasta ahora hemos estado usando objetos de forma totalmente transparente, casi sin ser conscientes de ello. Pero, en realidad, todo en Python es un objeto, desde números a funciones. El lenguaje provee ciertos mecanismos para no tener que usar explícitamente técnicas de orientación a objetos.
Llegados a este punto, investigaremos en profundidad sobre la creación y manipulación de clases y objetos, y todas las operaciones que engloban este paradigma.
2.7.1. ¿Qué son los objetos?
Un objeto en la programación
orientada a objetos (POO) representa alguna cosa de la vida real.
Por ejemplo, un videojuego. Este tendrá diversos objetos, entre ellos podríamos tener como un objeto a un enemigo, que tiene sus propias características. También, tendríamos al personaje principal que tiene otras características, etc.
Pongamos otro
ejemplo, una tienda online. Esta tiene muchos objetos, por ejemplo, cada uno de
los productos, el carrito de la compra, entre otras cosas.
En conclusión, un objeto puede ser cualquier cosa que queramos representar dentro de un programa.
¿Cómo lo representamos?
La respuesta es con métodos y atributos para poder especificar las
características de cada uno de los objetos.
Imagina de nuevo el
personaje principal de un juego y un enemigo.
Este tiene un método que le permite saltar. En cambio, el objeto del enemigo no
tiene dicho método, por lo tanto, el personaje principal podrá saltar y el
enemigo no.
Los atributos son cada una
de las configuraciones que definen al objeto, por ejemplo, objetos pantalón,
estos objetos llevan en común el atributo color. Podemos tener un mismo
atributo con valores diferentes, por
ejemplo, un pantalón negro y otro de color
blanco. Otro atributo podría ser el tipo de pantalón. En este caso, los dos
llevarían el valor sport.
Pasemos a la creación de objetos. Lo primero que necesitamos para construir objetos son las clases. Clases que permitirán crear objetos, y a esta acción de crear objetos se le conoce en programación como instanciación.
En la clase especificamos las características. Después a
partir de esa clase creamos el objeto, el cual obtiene todas esas
características que hemos especificado en la clase.