Python es un lenguaje orientado a objetos (POO).
Un objeto tiene un comportamiento y unas propiedades, es decir, lo que puede hacer.
Por ejemplo, tenemos un objeto, una bicicleta:
· Estado: Parada, Andando, corriendo.
· Propiedades: color, peso, tamaño.
· Comportamiento: acelerar, frenar, girar.
Podemos dividir el código en partes, el código es reutilizable, si se produce un error, el programa continua.
Clase
Dentro de la programación orientada a objetos, nos encontramos con clases, que son las características del objeto, siguiendo con el ejemplo, la clase puede ser el chasis de la bicicleta, que es una característica común de una bicicleta, una clase, provee una forma de empaquetar datos, al crear una clase crea un objeto.
Instancia
Para crear una instancia, debemos de tener una clase, que es el chasis, los objetos que van a componer esta instancia, va a ser, por ejemplo, ruedas, luces, manillar, entre otros, estas propiedades comparten el mismo chasis, aunque cada objeto, tiene sus propias características que lo hacen únicos, el color de cada bicicleta será diferente.
Objeto es lo mismo que instancia.
Modularización
Lo normal cuando creamos un programa es que este formada por varias clases, aunque puede ser de única clase, pero, si la aplicación es compleja, lo normal es que este formada por varias clases.
Encapsulación
La encapsulación quiere decir que cada clase es independiente, por ejemplo, tenemos un programa formado por cuatro clases, si la clase 2 produce un error, el resto de las clases siguen funcionando, quiere decir que todas las clases están conectadas entre sí, pero, cada clase funciona de forma independiente, funciona igual que un equipo de música formado por módulos, cada módulo tiene una funcion única, pero, todos los módulos juntos forman el equipo.
¿Como se conectan las clases entre sí?, pues, se hace mediante métodos de acceso, de esta manera, actúan como un único programa, pero, solo tiene acceso a diferentes características de cada clase.
Para acceder a una propiedad de un objeto, debemos de poner el nombre del objeto, seguido de punto, la propiedad, el signo igual y el valor, por ejemplo, bicicleta.color=naranja.
Vamos a ver como podemos crear una clase, es decir, la base, para crear una clase, ponemos la palabra class, seguido del nombre que vamos a dar a la clase, a continuación, paréntesis, y, dos puntos.
¿Qué propiedades va a tener la clase bicicleta?
Una de las propiedades es el número de ruedas, pues, vamos a dar de alta la propiedad como sigue:
Damos de alta otra propiedad, que va a ser el largo.
Voy a agregar una propiedad más.
Voy a agregar otra propiedad, que va a ser estado e igualamos a false, esta propiedad va a definir si la bicicleta esta en marcha o parada.
Siempre debemos de dejar la sangría correspondiente.
Un objeto tiene un comportamiento, un comportamiento viene determinado por métodos, un método es una función que pertenece a un objeto, a diferencia de una función, que no pertenece a ninguna clase, un comportamiento es lo que es capaz de realizar nuestro objeto, un comportamiento de nuestro objeto puede ser frenar, derrapar, vamos a crear un primer comportamiento, que va a ser acelerar.
Hasta ahora lo que hemos ido creando son funciones, no métodos.
Para crear un método, ponemos la palabra def seguido de la palabra function, entre paréntesis, ponemos Self, y, dos puntos:
Todas las funciones definidas dentro de una clase deberán tener, al menos, un argumento, que se llama Self.
Vamos a cambiar el nombre de la función a acelerar, o, pedalear.
Hasta ahora tenemos una clase con sus propiedades y un comportamiento.
Si en este momento, ejecutamos el programa, nos devolverá un error, porque dentro de la función, no hay código que ejecutar, si no queremos que nos devuelva un error, ponemos la palabra pass, que significa nada.
Vamos a borrar pass, y, vamos a cambiar el estado de la propiedad estado a true, para ello, ponemos la palabra self, seguido de punto, se abre una ventana con las propiedades, entre otros, seleccionamos estado e igualamos a true.
Lo siguiente es construir los objetos, o, instancias.
Lo primero es salir de la clase, damos un nombre a nuestro objeto, ponemos el signo igual y la clase a la que pertenece.
Esto es lo que se conoce como instanciar una clase.
Para poder acceder a las propiedades, o, comportamientos de este objeto, debemos de hacer uso del punto, es decir, nombre del objeto, punto, y, propiedad.
Con la siguiente línea, imprimimos la cantidad de ruedas del bicicleta1.
Al pulsar F5 nos devuelve 2.
Dentro de la función pedalear, hemos cambiado el estado a true, en la última línea, ponemos:
Voy a añadir una última línea para que imprima el estado del objeto bicicleta1.
Esta línea hace una llamada al método pedalear, con esta línea, el objeto bicileta1 se almacena en self, de esta forma, cuando hemos puesto self.estado=true, le estamos diciendo bicicleta1.enmarcha=true, para que ponga en marcha nuestro objeto.
Vamos a borrar la línea self.estado=true.
Ponemos if, preguntamos si self.estado es igual a false, en ese caso, que devuelva en pausa, en caso contrario, que imprima en movimiento.
Pulsamos F5, y, nos devuelve en pausa.
Voy a modificar las líneas de códigos dentro de if, donde vamos a preguntar que si estado es igual a false, lo cambie a true, e, imprima en movimiento, en caso contrario, que imprima en pausa.
Nuestra clase tiene cuatro propiedades, y, un comportamiento (método).
Vamos a crear un segundo objeto, lo hacemos como lo hicimos para crear el primer objeto.
Tenemos dos objetos que pertenecen a la misma clase, quiere decir que van a tener 2 ruedas, un largo de 255, un ancho de 35, y, un estado de false.
Si imprimimos la siguiente línea:
Vemos que nos devuelve 2 para cada objeto.
Miguel Angel Franco
Comments