ABIERTO



Programación orientada a objetos o POO

Acuñado por Alan Kay, programación orientada a objetos , también conocido como ABIERTO o Programación OO , es un paradigma de lenguaje de programación. En un programa orientado a objetos, el código pueden estructurarse como componentes reutilizables, algunos de los cuales pueden compartir propiedades o comportamientos.



La programación orientada a objetos puede mejorar la capacidad del desarrollador para crear rápidamente prototipos de software, ampliar la funcionalidad existente, refactorizar el código y mantenerlo a medida que se desarrolla.

Conceptos de programación orientada a objetos

Cuando programe en un lenguaje de programación orientado a objetos, tenga en cuenta los siguientes cuatro conceptos clave.



  • Encapsulamiento - La agrupación de funciones y datos relacionados ( variables ) juntos en un objeto para ayudar a reducir la complejidad y permitir la reutilización de partes del código.
  • Abstracción - Muestre solo lo esencial para reducir la abstracción del cambio.
  • Herencia - Elimina el código redundante heredando funciones y datos de otras clases.
  • Polimorfismo - Cambiar el funcionamiento de un objeto según los datos o la clase.

¿Qué es un OOPL?

Un OOPL ( lenguaje de programación orientado a objetos ) es un lenguaje de programación que se basa en el modelo de programación orientada a objetos explicado anteriormente. Ejemplos de lenguajes de programación orientados a objetos son C++ , C# , Java , Python, Simula y Smalltalk.

Ejemplo de programación orientada a objetos general

Digamos que estás escribiendo un videojuego donde los jugadores controlan y compiten con vehículos. Si está utilizando un lenguaje de programación orientado a objetos, puede definir un clase de objetos denominados 'vehículo'. Esta clase puede contener definiciones de las cualidades y comportamientos compartidos por todos los vehículos. Por ejemplo, todos los vehículos aceleran y desaceleran y consumen combustible. Dentro de esta definición de clase, puede definir métodos (Similar a funciones ) llamado 'acelerar' y 'desacelerar', y un propiedad (un tipo de variable) llamada 'combustible', cuyo valor usted puede obtener o colocar .



Entonces, podrías definir subclases , también llamado clases derivadas o clases para niños , que heredar métodos y propiedades de la clase 'vehículo'. Por ejemplo, podría definir una subclase llamada 'motocicleta' con dos ruedas y una subclase llamada 'automóvil' con cuatro ruedas. Sus cualidades compartidas (aceleración, desaceleración y consumo de combustible) ya están definidas en 'vehículo', por lo que no es necesario que las vuelva a escribir.

Entonces, podrías instanciar estas subclases para definir vehículos jugables individuales. Cada instancia de la subclase heredaría métodos y propiedades de todos sus clases para padres y tiene propiedades y métodos propios. Por ejemplo, sus propiedades únicas pueden incluir el color de la pintura ('rojo', 'azul', etc.) y el precio (si el jugador quiere comprarlo con la moneda del juego).

Más tarde, cuando desee cambiar el código específico de una motocicleta, no es necesario que cambie la clase de 'vehículo' principal. El código del 'vehículo' ya ha sido probado y funciona bien, por lo que modificar su programa requiere menos trabajo. Además, debido a que se están modificando menos líneas de código, existe una menor probabilidad de que bicho se introducirá en algún lugar del nuevo código. Si aparece un error, no es necesario que se pregunte si está en el código de clase del 'vehículo', porque esa clase no se modificó. Por lo tanto, el desarrollo y el mantenimiento del software pueden ser más eficientes, ahorrando tiempo y esfuerzo.