2.1 INTRODUCCIÓN

 

Anteriormente la forma de programar era orientada a procedimientos, ejemplos de estos lenguajes de programación son Fortran, Cobol, Basic, etc., eran códigos largos y complejos. Lo de complejos era porque un proyecto entero ocupaba un montón de líneas de código y si había algún error podías tirarte mucho tiempo encontrando el error, este tipo de programación tenía muchas desventajas:

·         Unidades de código muy grandes en aplicaciones complejas.

·         En aplicaciones complejas el código resultaba difícil de descifrar.

·         Poco reutilizable.

·         Si existe fallo en alguna línea del código, es muy probable que el programa caiga.

·         Aparición frecuente de código espagueti.

·         Difícil de depurar por otros programadores en caso de necesidad o error.

Una de las soluciones para programar de otra forma era trasladar la naturaleza de los objetos de la vida real al código de programación, y ¿cuál es la naturaleza de un objeto de la vida real? Los objetos tienen un estado, un comportamiento (¿qué puede hacer?) y unas propiedades. Por ejemplo, un coche, sería un objeto:

·         ¿Cuál es el estado de un coche? Un coche puede estar parado, circulando, aparcado, etc.

·         ¿Qué propiedades tiene un coche? Un coche tiene un color, un peso, un tamaño, etc.

·         ¿Qué comportamiento tiene un coche? Un coche puede arrancar, frenar, acelerar, girar, etc.

Así surgió el lenguaje de programación orientado a objetos. Ejemplos de lenguaje de programación orientados a objetos son: C++, Java, Visual.NET, etc. Tiene una serie de ventajas:

·         Programas divididos en “trozos”, “partes”, “módulos” o “clases. Modularización.

·         Muy reutilizable. Herencia

·         Si existe fallo en alguna línea del código, el programa continuará con su funcionamiento. Tratamiento de Excepciones.

·         Encapsulamiento.

Si hacemos una comparación de la programación orientada a procedimientos y la programación orientada a objetos, la programación orientada a procedimientos sería una minicadena:



La minicadena necesita de todo lo que se compone para poder funcionar, es decir, está compuesta o fabricada de un solo bloque, si se estropea la pletina de los cassettes al soporte técnico hemos de llevarle la mini-cadena entera, no podemos extraer la parte de los cassettes porque está todo integrado en un bloque, con el inconveniente que al llevarlo al soporte técnico nos quedamos sin equipo de música, igual que si se estropea la pletina de los CD’s.

En cambio, la programación orientada a objetos sería un equipo Hi-Fi



Equipos de música muy populares en la década de los 80 principios de los 90. En este caso este equipo está formado por módulos o partes, una parte es el amplificador, otra parte es la pletina, otra parte es el tocadiscos… a través de cables se unen estás partes para funcionar como un todo. La ventaja es que si se estropea la pletina no hace falta llevar todo el equipo al soporte técnico, solo se llevaría el módulo de la pletina, por lo que seguiríamos disfrutando de nuestro equipo de música ya que todavía disponen de otros módulos como la radio, el tocadiscos, etc. Estas partes o módulos que componen el equipo si lo comparáramos con la POO serían las clases, la programación orientada a objetos funciona igual que un equipo Hi-Fi.

Un lenguaje de programación orientado a objetos se compone de muchas clases que se unen a través de métodos para funcionar como una aplicación única, si una de las clases tiene errores no significa que la aplicación no funcione del todo ya que dispone de otras clases que puede hacer que la aplicación funcione aunque las funcionalidades de la clase que está dando error no estén disponibles cuando la aplicación está en ejecución.

En resumen, hemos conocido un nuevo concepto del lenguaje de programación orientado a objetos que es la modularización. La modularización consiste en distribuir el código en trozos o partes, estos trozos o partes serían las clases con la ventaja de que estas clases se pueden reutilizar para otras aplicaciones.

1.10.3 Recorrer arrays << >> 2.2 CLASES Y OBJETOS







No hay comentarios:

Publicar un comentario