Hoy en dia la tecnologia orientada a objetos ya no se aplica solamente a Lenguajes de programación, ademas se biene aplicando en el analisis y el diseño con mucho exito, al igual que en las bases de datos. si queremos hacer una buena programación orientada a objetos hay que desarrollar el sistema aplicando esta tecnologia, de esto bien la importancia del analisis y diseño orientado a objetos.
La programacion orientada a objetos es una de la formas más populares de programar y biene teniendo gran acogida en el desarrollo de proyectos de software desde los ultimos años. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.
¿Cuales son las ventajas de un Lenguaje Orientado a Objetos?
*. Fomentar la Reutilización y Extensión del Código
*. Permite crear sistemas mas complejos
*. Relacionar el sistema al mundo real
*. Facilita la creacion de programas visuales.
*. Construcción de prototipos.
*. Agiliza el desarrollo de software
*. Facilita el trabajo en equipo
*. Facilita el Mantenimiento del Software.
Lo interezante de la Programación Orientada a Objetos es que proporciona Conceptos y Herramientas con las cuales se modela y se representa el mundo real.
Modelo Orienta a Objetos
------------------------
Para entender el modelo Orientado a Objetos Vamos revisar 4 Conceptos Básicos
1. Objetos:
Entender que es un Objeto es la clave para entender cualquier lenguaje de programación.
Existen Multiples definiciones que se ha dado al Objeto. Debemos comenzar por enterder que es un Objeto del Mundo Real. Un Objeto del mundo real es cualquier cosa que vemos anuestro alrededor. Por ejemplo para leer este articulo lo hacemos a través del monitor de la computadora, ambos son objetos, al igual que un coche (automovil), un telefono celular, una casa, etc.
Hagamos un análisis un poco mas profundo a un Objeto del mundo real, como la computadora. No se necesita ser expertos para saber que una computadora está compuesta por varios componentes: La tarjeta Madre, el Micro Procesador, un disco duro, una tarjeta de video, y otras partes mas. El trabajo de estos componentes en conjunto hacen funcionar a la computadora. Internamente cada uno de estos componentes puede ser muy complicado y puede ser fabricado por diversas compañias y siguiendo diferentes metodos de diseño e implementación. Pero nosotros no necesitamos saber como funciona internamente cada uno de estos componentes. Cada componente es una unidad autonoma y todo lo que necesitamos saber de adentro es como interactuan estas componentes entre si y poder armar facilmente una computadora.
¿Qué es lo que tiene que ver esto con la programación?
La programación orientada a objetos trabaja de está manera. Todo el programa está construido en base a diferentes componentes (Objetos), cada uno tiene un rol especifico en el programa y todos los componentes pueden comunicarse entre ellos de formas predefinidas.
Todo Objeto del mundo Real tienen 2 componentes: Caracteristicas y comportamiento.
Un ejemplo clasico, los automoviles tienen caracteristicas (Marca, Modelo, color, Velocidad Maxima, etc) y Comportamiento (Acelerar, frenar, Llenar combustible, Cambiar llantas)
Los objetos de software al igual que del mundo real tambien tienen caracteristicas y comportamiento. Un objeto de software mantiene sus caracteristicas en una o mas "variables" e implementa comportamineto con "Metodos". Un Método es una funcion o subrutina asociada aun objeto.
Definiciones Básicas: Un Método es una funcion o subrutina asociada aun objeto.