Unidad 5: Programación Orientada a Objetos.
Lección 1: Introducción a la Programación Orientada a Objetos.
1.- Programación Orientada a Objetos.
Es un método de desarrollo de software basado en el comportamiento de los objetos en el mundo real.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otros conceptos mas.
Los conceptos de orientación a objetos de los Objetos ABAP son esencialmente los mismos de otros lenguajes modernos orientados a objetos tales como C , o Java.
2.- Como pensar en la POO.
Pensar en términos de objetos es muy parecido a como lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como: color, modelo o la marca. Además tiene una serie de funcionalidades asociadas, como: ponerse en marcha o parar.
En un esquema de POO, el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como poner en marcha o parar.
Los programas orientados a objetos, utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos, es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, re-cambios, etc.
3.- Conceptos clave de la POO.
Objeto - Es únicamente una porción de código fuente que contiene datos y proporciona servicios.
Clase - Es un condjunto de objetos que tienen la misma estructura y comportamiento.
Instancia - Es un objeto de una clase en particular creado en tiempo de ejecución.
4.- Principales ventajas de la POO.
- Sistemas de software muy complejos se vuelven mucho más simples de comprender debido a que la orientación a objetos proporciona una representación mucho más cercana a la realidad que otras técnicas de programación.
- En un sistema correctamente diseñado con orientación a objetos es posible realizar cambios al nivel de la clase, sin tener que realizar cambios en ningún otro punto del sistema.
- A través del polimorfismo y la herencia es posible la re-utilización de componentes individuales.
- La cantidad de trabajo en revisión y mantenimiento del sistema se reduce porque muchos problemas pueden ser detectados y corregidos en la fase de diseño.
- Facilita el trabajo en equipo porque varios desarrolladores pueden trabajar en distintos componentes de un mismo desarrollo.