UNIDAD 5 Lección 1: Introducción a la Programación Orientada a Objetos
----------------------------------------------------------------------
¿Qué es la Programación Orientada a Objetos (POO)?
- Es un método de desarrollo de software basado en el comportamiento de los objetos en el mundo real.
- Con la POO debemos escribir nuestros programas en términos de objetos, propiedades, métodos y otros conceptos.
- Los objetos ABAP son un conjunto de sentencias orientadas a objetos introducidas desde ABAP 4.0.
Objeto, Clase, e Instancia:
-
Objeto: Son una porción de código fuente que contiene datos (atributos) y proporciona servicios (métodos).
Normalmente los métodos operan con los datos privados del objeto (datos visibles sólo para métodos del objeto), garantizando que no sea el usuario quien cambie los atributos.
-
Clase: Conjunto de objetos con misma estructura y comportamiento.
- Atributos -> características de la clase.
- Métodos -> mecanismos de la clase.
- Eventos -> reacciones de la clase a ciertos sucesos.
-
Instancia: Es un objeto de una clase en particular creado en tiempo de ejecución.
Cuando creamos una instancia, ésta adquiere los atributos, métodos y eventos de la clase a la que pertenece. Sin embargo, cada instancia es independiente de las otras de su misma clase, pudiendo tener sus propios valores (atributos, métodos y eventos?): VEHÍCULO: automóvil, barco, avión, helicóptero, etc.
Ventajas de la POO:
- Sistemas de software complejos se vuelven más simple comprender.
- En un sistema diseñado con OO es posible realizar cambios a nivel clases, sin tener que realizar cambios en ningún otro punto del sistema (reduce costo mantenimiento).
- A través de Polimorfismo y Herencia se puede reutilizar componentes individuales.
- Muchos problemas pueden ser detectados y corregidos en fase de diseño.
- Varios desarrolladores pueden trabajar en distintos componentes de un mismo desarrollo (facilita trabajo en equipo).
Desventajas de la POO:
- Pocos desarrolladores conocen/aplican diseño OO.
- Tamaño excesivo de aplicaciones resultantes.
- La velocidad de ejecución es más lenta de ejecutar, ya que cuando se heredan clases se heredan miembros que no necesariamente se van a necesitar.