2.1.1. PROGRAMACIÓN ORIENTADA A OBJETOS Concepto: La programación orientada a objetos, o más conocida en español por POO y en inglés por OOP, es un paradigma de programación, que viene a innovar la forma de obtener resultados, surgió en los años de 1970, su uso se popularizó en la década de 1990 y en la actualidad existen una gran cantidad de lenguajes de programación que soporta la orientación a objetos. Estos tienen origen en Simula 67 que es un lenguaje diseñado para hacer simulaciones, creado por Ole- Johan Dahl y Kristen Nygaard del centro de cómputo noruego de Oslon. La programación orientada a objetos utiliza objetos como elementos fundamentales en la construcción de una solución. Un objeto es una abstracción de algún hecho con atributos que representan sus características o propiedades, y métodos que emulan su comportamiento o actividad. Todas las propiedades y métodos comunes a los objetos, se encapsulan o agrupan en clases. Una clase viene siendo como una plantilla, un prototipo para crear objetos, se dice que cada objeto es una instancia o ejemplar de una clase. La programación orientada a objetos se fue convirtiendo en el estilo de programación dominante a mediados de los años 1980.Gracias a la POO podemos eliminar códigos redundantes, transformar y mejorar objetos, reusabilidad , la modificabilidad, y la fiabilidad.. Características: La POO (Programación Orientada a Objetos) es muy representado por sus estructuras, y diferentes desarrollos metodológicos, que facilitan un buen diseño y servicio. Según la Universitat Calermany (2020) expresa que: Lo cierto es que este tipo de programación es mucho más abierta, aunque favorece una estructuración ordenada. Se requiere de una cierta formación previa, pero en la práctica hay varias ventajas por las que puede interesar esta metodología. La organización del código se realiza en distintas clases que, posteriormente, podrán concretarse en objetos. Entre las características principales son: 1. Distinción entre clase y objeto La distinción entre clase y objeto es una de las claves de este tipo de programación que la hace única. No en vano, si no entendemos esta parte, no sabemos cómo funciona este tipo de programación. En primer lugar, la clase se referirá a la matriz genérica, a la cual se aplicarán determinadas categorías para que puedas afinar. Hecho esto, nos referiremos a los objetos, que suponen la concreción de esa matriz. Por ejemplo, el concepto "animal" sería una clase, mientras que "gato" es un objeto. Esto permite aportar orden, lo que siempre es de agradecer, gracias a la capacidad de abstracción. La idea principal es que, a partir de la clase, se crean instancias de un objeto. En consecuencia, es una metodología muy útil para programar con una cantidad de datos ingente a la que dar forma. 2. Reutiliza el código y evita su duplicación La duplicación del código es uno de los problemas recurrentes, sobre todo por la pérdida de tiempo que implica. La POO introduce una novedad interesante al respecto.Hay que destacar que el principio de herencia hace que exista jerarquización entre las clases que utilizamos. Y el resultado práctico de eso es que se reducen exponencialmente las veces que tienes que reescribir. Como vas a reutilizar el código gracias a este principio de programación, evitarás su duplicación. Por lo tanto, la tan temida duplicación del código es un problema al que no te expondrás.Además, gracias al principio de herencia ahorrarás tiempo porque te será más fácil realizar las correspondencias entre clases y objetos. 3. Encapsula la información El concepto de encapsulación de la información es clave si quieres afinar en la privacidad. Uno de los problemas recurrentes está en la cantidad de datos que se comparten, y en qué medida.La POO lo que consigue es que toda la información de un objeto esté dentro del mismo. En consecuencia, el acceso desde fuera se hace prácticamente imposible para los no programadores. El resultado práctico es que se gana en seguridad, lo que siempre es de agradecer.En definitiva, este sistema permite que los datos privados lo sigan siendo. Y esto, evidentemente, también te da un mayor control sobre el proceso de programación. 4. Polimorfismo El polimorfismo permite diseñar objetos para compartir comportamientos. Por lo tanto, es una buena forma de que se pueda proporcionar orden. El efecto que se consigue es que puedes procesar los objetos de distintas maneras. El polimorfismo, aunque es una de las ventajas de la POO, es también un arma de doble filo. Y el motivo básico es que abre campos a dos formas y adaptaciones. Básicamente podemos hablar de la anulación de método y la sobrecarga de método. Es por eso que, cuando hablamos de la POO, nos referimos más bien a una filosofía de programación, porque las adaptaciones son diversas. El poliformismo es, al final, sinónimo de versatilidad, y esto siempre es de agradecer. Por lo tanto, esta es una buena manera de adaptar la programación a aquello que necesitas. Importancia: Ventajas: Aplicaciones cotidianas: